Chr*_*her 15 java orm hibernate jpa jpa-2.0
Hibernate EntityManager文档声明:
根据项目的业务和技术需求,您可以结合使用这三者,没有JPA编程接口和生命周期的注释,甚至是纯本机Hibernate Core.您可以随时回退到Hibernate本机API,或者如果需要,甚至回归到本机JDBC和SQL.
使用JPA API(EntityManager)的代码显然更具可移植性(即使偶尔会回退到Hibernate Core).
但是在使用纯Hibernate Core时我会有什么优势吗?我想知道,如果JPA 2模型真的适合Hibernate Core而没有任何矛盾吗?IOW,是Core的后备总是简单而没有问题?
我主要担心的是:
也许差异不仅存在于API中,还存在于底层语义中?(例如,可能冲突的不同事务/版本控制/锁定语义:Core文档中提到了悲观锁定,但EntityManager文档中没有提到 - 因此我仍然可以通过回退到Core而不会导致问题来使用悲观锁定吗?这样的事情...... .)
Pas*_*ent 13
但是在使用纯Hibernate Core时我会有什么优势吗?
如果JPA 2.0支持你需要的东西,我认为没有直接使用Hibernate Core的优势(和JPA 2.0一样,差距变得更小,需要回退到Core异常,而不是规则,这是一个非常好事).
我想知道,如果JPA 2模型真的适合Hibernate Core而没有任何矛盾吗?
从JPA 1.0开始,Hibernate开发人员创建了Hibernate3,并考虑了"JPA",并在Hibernate3中采用了JPA语义,默认值等.你可能想在这个技术讲座中听取Gavin :Havnate3和EJB3上的Gavin King:
在这篇技术讲座中,King讨论了Hibernate3如何构建和扩展EJB3,解决了以下主题:
- Hibernate3的新功能
- Hibernate3与JBoss中的EJB3容器之间的关系
- Hibernate3与EJB3规范的区别
- Hibernate在EJB之外可用的自定义注释
- Hibernate的未来
根据我的实际经验,Hibernate与EJB 3不矛盾的事实是正确的.
IOW,是Core的后备总是简单而没有问题?
无论你是否直接使用Core,你都在使用它(它EntityManager是一个包装器Session).所以,是的,如果你真的需要(对于那些仍然不像规范查询的规范那样的事情),那么回归Core很容易.并且,不,这不会导致任何问题(因为您实际上在JPA中使用它或它的一部分).
| 归档时间: |
|
| 查看次数: |
10073 次 |
| 最近记录: |