Hibernate SessionFactory vs EntityManagerFactory

vic*_*cky 15 java orm spring hibernate jpa

我一直在讨论这个问题,Hibernate SessionFactoryJPA EntityManagerFactory之间的鸟眼差异是JPA是标准的.您可以使用它而不必担心底层ORM.然而它会在底层调用底层的sessionFactory.(如果我错了,请纠正我)

但如果有人知道他将来只是坚持使用hibernate作为ORM,那么他应该从这两个工厂中选择什么呢?为什么呢?

其次,这两者在性能,功能,稳定性等方面还存在哪些差异?

JB *_*zet 42

您应该更喜欢标准的JPA API而不是专有的Hibernate API,原因如下:

  1. 它让您学习一些可以在更多其他项目中重用的东西,依赖于不同的实现
  2. JPA API比Hibernate更干净:它没有Hibernate API的早期错误
  3. 现在,努力和演变都针对JPA API.例如,标准JPA2标准API比旧的,专有的Hibernate Criteria API更完整(但使用起来更复杂,恕我直言)
  4. 如果需要,您始终可以从JPA EntityManager获取Hibernate会话.反之亦然

无论如何,大部分工作都是映射实体本身,这是使用标准JPA注释完成的,即使使用Session API也是如此.

  • 不会有任何明显的差异.无论如何,这绝不会发生.使用数据库的应用程序大部分时间都是执行查询. (2认同)