<分区>
当我在大学学习网络编程时,他们告诉我们 Hibernate。
我们使用了一段时间,我什至有机会在一家公司的真实场景中使用它近 8 个月。现在我完全切换到 Java EE 6,我使用 JPA 来满足我的 ORM 需求。
我已经用了几个月了,但我真的不明白它们之间有什么区别。为什么有人说一个或另一个更好或更坏?我在两者中进行映射和注释的方式几乎相同。
也许你能解决我的一些疑惑:
JPA(Java Persistence API)是一种 API,JPA 2.0 属于 JSR 317 组。基本上,它是一个通过使用 ORM(对象关系映射)实现数据持久化来管理关系数据的框架。
Hibernate 是一个 ORM 库,可将您的 POJO/JavaBeans 映射到您的数据持久性。 ORM 和 JPA 都有对象/关系元数据(XML、注释),用于将 POJO 映射到数据库表。
Does Hibernate uses JPA or the other
way around (Do they depend on each
other)?
Hibernate 3 现在支持 JPA 2.0。 JPA 是使用对象模型描述关系数据的关系和管理的规范。由于 JPA 是一个 API,因此 Hibernate 实现了这个 API。您所要做的就是使用 JPA API 类/接口(interface)编写您的程序,将 Hibernate 配置为 JPA 资源,瞧,您已经运行了 JPA。
What are the advantages and
disadvantages of each?
优点:
- 避免使用低级 JDBC 和 SQL 代码。
- 它是免费的(例如用于 JPA 的 EclipseLink)。
- JPA 是 EJB3 和 Java EE 的标准和一部分。
这就是我对 Hibernate 的了解。