回答
典型的版本包括增加更多功能和錯誤修復。這裏是休眠2 - > 3遷移指南,這應該給你一個想法。
http://community.jboss.org/wiki/HibernateCoreMigrationGuide30
你會看到,他們做了,比如讓所有異常不加以控制,在地方增加了一些方法,在地方棄用一些方法,等等。
幾個關鍵問題的休眠2.X V的Hibernate 3.x的:
Hibernet2.x版本增加到Hibernet3.x,即包括 更多的功能和bug修復。 Hibernate 3.0與Hibernate 2.1不兼容。 在Hibernet3.0中進行的更改被精心設計爲 ,可以直接遷移代碼和元數據。 在同一應用程序中,可以運行Hibernate 2.x和Hibernate 3.x端 端。
一些在Hibernate3.x由具有Hibernet2.x相比變化:
API的變化:
Hibernate3的封裝結構在org.hibernate作爲根代替net.sf.hibernate.This重命名的
是完成允許 Hibernate2和Hibernate3在同一個 應用程序中並排運行。 Hibernate3 中已棄用的某些接口已移至org.hibernate.classic包。 在Hibernate3中將HibernateException和所有其他Hibernate異常作爲未經檢查的運行時異常更改爲 。 與Hibernate2相比,Hibernate3提供了 ParameterizedType接口,以允許更好地重用 用戶類型的實現。 Hibernate3.x封裝了Blob和Clob實例,允許將具有Blob或Clob類型屬性的類 分離,序列化, 反序列化並傳遞給merge()。 Hibernate2.x不是 支持此功能。 元數據更改:
在Hibernate2.x中,最佳做法是使用lazy =「true」映射幾乎所有的類和集合,即Hibernate3.x中的默認功能。在hibernate2.x應用程序中,需要在所有非惰性類和集合映射上明確指定 lazy =「false」。 在hibernet 3.x中,不建議使用outer-join屬性。使用fetch =「join」和fetch =「select」而不是outer-join =「true」和outer-join =「false」。 該元素是半棄用的,現在在hibernate3.x中首選。 是優選的。
是優選的。 與Hibernate2.x相比,Hibernate 3.x中的hbm XML文件中的DTD引用發生了更改。
查詢語言的變化:
Hibernate3的配備了一個全新的,基於ANTLR的
HQL/SQL查詢翻譯。但是,Hibernate 2。1查詢
解析器仍然可用。 可以通過設置Hibernate
屬性hibernate.query.factory_class來選擇查詢解析器。
- 1. 什麼是冬眠隔離?
- 2. 冬眠實體
- 3. 冬眠buildSessionFactory ClassFormatError:
- 4. 支柱2 +冬眠+彈簧+ ehcache的
- 5. 爲什麼存在x ++和++ x,x + = 2但不是x = + 2?
- 6. 冬眠org.objectweb.asm.classwriter
- 7. 什麼表結構使用(冬眠)
- 8. 冬眠拋出MappingException
- 9. 休眠與冬眠搜索
- 10. 冬眠收集
- 11. 冬眠子實體
- 12. 冬眠
- 13. 冬眠一對一的關係2
- 14. 冬眠限制像
- 15. 什麼是RxSwift 3.0等同於RxSwift 2.x中的AnonymousDisposable?
- 16. 冬眠通過http
- 17. 無柱冬眠
- 18. SQLStateConverter.handledNonSpecificException冬眠
- 19. 冬眠@Formula與CAST
- 20. 申報冬眠這不是
- 21. Seam 2.x和Hibernate 3.5?
- 22. 冬眠第一應用
- 23. 份額冬眠中2個不同的項目
- 24. 找不到神器冬眠
- 25. 冬眠太多連接
- 26. 錯誤在冬眠
- 27. 冬眠LazyInitializationException中
- 28. 冬眠HQL不同WITH和WHERE
- 29. 列行冬眠
- 30. 標準冬眠
一個比另一個更新。 –