Java ORM框架:Hibernate 4.1.8 版本發布
Hibernate ORM - 4.1.8 發布日志:
Bug修復情況
- [HHH-1283] - ScrollableResults JoinFetch don't set child collection correctly after the second parent object
- [HHH-1570] - criteria-api: filtering by key-many-to-one causes invalid sql
- [HHH-4459] - Query with Composite Primary Key parameter crashes when query cache is on
- [HHH-4635] - Oracle ORA-24816 inserting and updating data for entities containg LOB attributes
- [HHH-5209] - org.hibernate.hql.ast.QuerySyntaxException when running a JPQL query with a MEMBER OF on an @ElementCollection
- [HHH-5267] - NPE when updating a detached entity with a one-to-one association changed to null that is mapped with delete-orphan
- [HHH-5376] - Tests contain invalid SQL
- [HHH-5836] - Mapping collection of entities with same name and notnull constraints from two different entities results in duplicate property mapping of Backref
- [HHH-6043] - PostLoad method invoked before collection initialised
- [HHH-6349] - AuditJoinTable rows missing when detached entities with collections are merged into the persistence context
- [HHH-6655] - trim function on DB2 is broken
- [HHH-6972] - Support PostgreSQL and Oracle LOBs
- [HHH-7309] - Natural-id not cached in shared cache after insert
- [HHH-7359] - Trace logging causes numerous test errors
- [HHH-7487] - org.hibernate.type.EnumType incorrectly logs binded values
- [HHH-7541] - When using HSQLDB, inserting any CLOB value larger than 16Mb always fails with an exception
- [HHH-7569] - Correct test-only failures in hibernate-core-master-matrix CI job
- [HHH-7575] - Hibernate Getting Started Guide refers to incorrect tutorial directory for annotations tutoral
- [HHH-7577] - Dialect's supportsNotNullUnique not working when false
- [HHH-7578] - Sybase does not support "unique not null"
- [HHH-7579] - Oracle does not support "unique not null"
- [HHH-7584] - Sybase dialects attempting to use BLOB types
- [HHH-7586] - Re-architect Type or TypeFactory dynamic descriptors
- [HHH-7603] - NullPointerException being thrown instead of LazyInitializationException with collection reattach change
- [HHH-7640] - Enhancements to speed up and reduce mem consumption for Infinispan 2LC
- [HHH-7644] - Correct memory leak introduced by HHH-7557
- [HHH-7669] - JtaTransaction test fails on Oracle RAC
- [HHH-7674] - DB locks not cleared on LazyLoadingTest#testLazyCollectionLoadingWithClearedSession
- [HHH-7690] - Fix for @ManyToOne using @embeddedid with @ManyToOne inside
- [HHH-7692] - Postgres 9 and 9.1 use 8.1 dialect instead of 8.2 by default
- [HHH-7693] - SQL Server 2012 gets the SQL Server 2000 dialect by default
- [HHH-7711] - SchemaExport doesn't create file with script if both parameters exportToDatabase and scriptToConsole are false
- [HHH-7721] - SQLFunctionRegistry findSQLFunction does not honor case sensitivity
- [HHH-7724] - JpaLargeBlobTest failing on multiple DBs
- [HHH-7730] - SchemaExportManagedConnectionTest#testGenerateDdlToFile failing on Oracle & Sybase
- [HHH-7732] - QueryTest#testMemberOfSyntax failing on Oracle
- [HHH-7733] - NativeSQLQueriesTest failing on Postgres
- [HHH-7734] - SerializableTypeTest#testNewSerializableType failing for Oracle 11G R1 </ul>
- [HHH-1775] - 集合批量獲取(collection batch fetching)
- [HHH-6452] - PostgreSQL Dialect 沒有完全實現NOWAIT鎖
- [HHH-6682] - 為 Oracle Dialect添加 oracle "bitand" 函數支持
- [HHH-7631] - 改進UpdateTimestampsCache的性能
- [HHH-7633] - 改進IdentityMap的性能
- [HHH-7683] - 優化AbstractLazyInitializer.prepareForPossibleSpecialSpecjInitialization()的性能。
- [HHH-7698] - 更高效 LOB 創建
- [HHH-7725] - 使處理大批量HQL多表操作更可插拔
- [HHH-7728] - 在table類中添加equals方法 </ul>
- [HHH-6361] - Collection events may contain wrong stored snapshot after merging a detached entity into the persistencecontext </ul>
- [HHH-7710] - Align Infinispan 5.x versions in 2LC implementation in 4.1.x branch </ul>
改進情況:
補丁
Task
Hibernate是一個Java語言下的對象關系映射解決工具。它的工作原理是通過文件(一般有兩種:xml文件和properties文件)把值對象和數據庫表之間建立起一個映射關系。這樣,我們只需要通過操作這些值對象和Hibernate提供的一些基本類,就可以達到使用數據庫的目的。例如,使用Hibernate的查詢,可以直接返回包含某個值對象的列表(List),而不必向傳統的JDBC訪問方式一樣把結果集的數據逐個裝載到一個值對象中,為編碼工作節約了大量的時間。Hibernate提供的HQL是一種類SQL語言,它和EJBQL一樣都是提供對象化的數據庫查詢方式,但HQL在功能和使用方式上都非常接近于標準的SQL。
二、Hibernate與JDBC的區別
Hibernate與JDBC的主要區別如下:
1、Hibernate是JDBC的輕量級的對象封裝,它是一個獨立的對象持久層框架,和App Server,和EJB沒有什么必然的聯系。Hibernate可以用在任何JDBC可以使用的場合,從某種意義上來說,Hibernate在任何場合下取代JDBC。
2、Hibernate是一個和JDBC密切關聯的框架,所以Hibernate的兼容性和JDBC驅動,和數據庫都有一定的關系,但是和使用它的Java程序,和App Server沒有任何關系,也不存在兼容性問題。
3、Hibernate是做為JDBC的替代者出現的,不能用來直接和Entity Bean做對比。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!