使用Hibernate EntityManager(与Hibernate Core相比)有什么缺点吗?
Hibernate EntityManager 文档指出:
您可以结合使用这三者,没有JPA编程接口和生命周期的注释,甚至是纯本机Hibernate Core,具体取决于项目的业务和技术需求。您可以随时回退到 Hibernate 原生 API,或者如果需要,甚至可以回退到原生 JDBC 和 SQL。
使用JPA API(EntityManager)的代码显然更具可移植性(即使偶尔回退到Hibernate Core)。
但是,在使用纯粹的休眠核心时,我会有什么优势吗?我想知道,JPA 2模型是否真的适合在Hibernate Core之上没有任何矛盾?IOW,回退到Core总是容易且没有问题吗?
我主要关心的是:
也许差异不仅在API中,而且在底层语义上?!(例如,可能冲突的不同事务/版本控制/锁定语义:核心文档中提到了悲观锁定,但在EntityManager文档中没有提到 - 所以我仍然可以通过使用悲观锁定来回退到核心而不会引起问题?诸如此类的事情...)