回答
典型的版本包括增加更多功能和错误修复。这里是休眠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. 标准冬眠
一个比另一个更新。 –