【发布时间】:2017-05-10 01:03:46
【问题描述】:
我对 Spring-Hibernate 集成和 Spring+JPA+Hibernate 感到困惑。它有什么不同?在我们的编码中使用哪个更有优势?
【问题讨论】:
我对 Spring-Hibernate 集成和 Spring+JPA+Hibernate 感到困惑。它有什么不同?在我们的编码中使用哪个更有优势?
【问题讨论】:
Java Persistence API (JPA) 是一种 Java 规范,用于访问、持久化和管理 Java 对象/类与关系数据库之间的数据。 Hibernate 是一个 ORM - 对象关系映射库,它遵循 JPA 规范。 Spring-Hibernate 集成涉及 Spring 直接使用 Hibernate;中间没有层。 Spring-JPA-Hibernate 涉及 Spring 使用实体管理器,例如 LocalContainerEntityManagerFactoryBean 和 Hibernate 作为 ORM 工具(JPA 规范的实施者)。 JPA 只是一个规范,这意味着没有实现,而 Hibernate 提供了该实现。人们应该始终更喜欢 Spring-JPA,因为将来在项目的生命周期中可以切换到任何其他 JPA 实现。与 Hibernate 类/jars/注释没有直接依赖关系,因为代码将使用 JPA 注释/类。除了 Hibernate,还有许多其他的 JPA 实现,例如 Toplink、OpenJPA 等。
【讨论】: