Java著名数据持久层框架,Hibernate 5.0.0.CR3 发布

jopen 9年前

Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有。

它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。

Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。


Hibernate 5.0.0.CR3 发布,此版本更新内容如下:

子任务
    * [HHH-9938] - Enhance field access

** Bug 修复
    * [HHH-5255] - Merge detached entity failed when the instrumented lazy property is initialized
    * [HHH-7573] - Lazy properties are not processed properly after a PreUpdate callback
    * [HHH-7898] - Regression on org.hibernate.cache.infinispan.query.QueryResultsRegionImpl.put(Object, Object)
    * [HHH-9244] - NPE in bindCollectionSecondPass
    * [HHH-9637] - Join is reused when 2 explicit joins are used for the same ToOne association
    * [HHH-9906] - The {{JdbcEnvironmentImpl(ServiceRegistryImplementor serviceRegistry, Dialect dialect)}} constructor form does not handle global/auto quoting properly.
    * [HHH-9907] - Bytecode enhancer fails on windows
    * [HHH-9910] - Schema migration (update) problems with catalog/schema restrictions
    * [HHH-9913] - NPE in org.hibernate.cache.internal.CacheDataDescriptionImpl.decode()
    * [HHH-9915] - Test IndexedCollectionTest.testEmbeddableWithEntityKey() fail on Oracle
    * [HHH-9918] - org.hibernate.dialect.Oracle10gDialect does not support identity key generation
    * [HHH-9923] - Avoid cast to MetadataBuildingOptionsImpl in AnnotationMetadataSourceProcessorImpl#prepare()
    * [HHH-9927] - Explicit calls to EntityManager.joinTransaction() with no active JTA transaction should throw a TransactionRequiredException
    * [HHH-9937] - Hibernate#isPropertyInitialized always returns true for new enhancer
    * [HHH-9945] - Allow Transaction to rollback if marked-for-rollback-only
    * [HHH-9946] - Do better job cleaning up "stray" transactions in base test
    * [HHH-9947] - PhysicalNamingStrategy#toPhysicalTableName called rather than #toPhysicalColumnName for some columns
    * [HHH-9948] - SequenceStyleGenerator uses potentially incorrect name for table/sequence in DML statements
    * [HHH-9949] - Recognize legacy http://hibernate.sourceforge.net/hibernate-configuration DTD base identifier
    * [HHH-9953] - Test o.h.test.legacy.ComponentNotNullTest.testCompositeElement fails on Oracle - ORA-00972: identifier is too long
    * [HHH-9967] - Create index on Postgres with --defaultSchemaName
    * [HHH-9968] - Test o.h.test.type.AttributeConverterTest.testBasicTimestampUsage fails on Oracle - ORA-00972: identifier is too long
    * [HHH-9969] - MySQLDialect handling of numeric cast targets is incorrect
    * [HHH-9971] - Methods of ForwardingSessionBuilder, ForwardingSessionBuilderImplementor and ForwardingSharedSessionBuilder should return themselves not the delegate
    * [HHH-9972] - Tests in o.h.test.type.EntityGraphUsingFetchGraphTestUsage fail on Oracle - ORA-00972: identifier is too long
    * [HHH-9976] - JdbcResourceLocalTransactionCoordinatorImpl does not rollback on failure during #beforeCompletionCallback
    * [HHH-9985] - Enhaced entity changes not peristed after merge

** 改进
    * [HHH-1872] - Hibernate should handle hbm.auto = update with views
    * [HHH-9955] - EnumType mapped via hbm.xml not always resolved properly as far as named/ordinal
    * [HHH-9966] - Improve schema tooling support for creating catalogs and schemas
    * [HHH-9980] - Implement mark-for-rollback-only handling for JdbcResourceLocalTransactionCoordinatorImpl

** 新特性
    * [HHH-9977] - Consider options for passing Session to caching SPI calls

** 任务
    * [HHH-9916] - Update quickstarts and tutorials for 5.0 + convert to asciidoc(tor)
    * [HHH-9930] - Enable mariadb (mysql) database profile
    * [HHH-9931] - Enable pgsql database profile
    * [HHH-9956] - Enable derby database profile
    * [HHH-9959] - Upgrade Hibernate Validator to 5.2.0.Final
    * [HHH-9970] - Remove NoIdentityHQLScrollFetchTest and change HQLScrollFetchTest to work with "increment" ID generator
    * [HHH-9974] - Rename org.hibernate.boot.model.relational.Schema to Namespace
    * [HHH-9986] - Fix reference manual inconsistencies for 5.0

更多内容请看发行说明