【发布时间】:2013-05-16 05:54:48
【问题描述】:
Hibernate Session 类和EntityManager 类有什么区别?我知道EntityManager 实现了Java Persistence API,但我不确定它与Session 有什么关系。它们有关系吗?
【问题讨论】:
Hibernate Session 类和EntityManager 类有什么区别?我知道EntityManager 实现了Java Persistence API,但我不确定它与Session 有什么关系。它们有关系吗?
【问题讨论】:
Session 是特定于休眠的 API,EntityManager 是 JPA 的标准化 API。您可以将EntityManager 视为包装Session 的适配器类(您甚至可以通过getDelegate() 函数从EntityManager 对象中获取Session 对象)。
这与周围的其他 Java API 没有什么不同(例如,JDBC 是一个标准 API,每个供应商通过实现标准功能的驱动程序将其产品适配到 API)。
【讨论】: