【发布时间】:2015-02-28 17:03:03
【问题描述】:
我是 Java ORM 领域的新手,我对 JPA 2 和 Hibernate 之间发生的关系和差异有一些疑问。
阅读文档在我看来,JPA2 是一个规范,而 Hibernate 是一个特定的该规范的实现强>。这是真的吗? JPA 2 是一个规范究竟意味着什么?什么是规范?我认为它提供了一些接口(或类似的接口),这些接口定义了在数据库上执行操作所需的常见行为(例如:插入、删除、选择、更新操作等)。
所以我认为 JPA2 提供了一个常见操作列表和未实现的方法来执行它,并且像 Hibernate 这样的 ORM 框架实现了它。
这是真的还是我错过了什么?所以这意味着我不能在某种独立版本中使用 JPA 2,因为它没有实现,但同时我可以将 Hibernate 用作独立工具(不使用 JPA)? p>
所以在我看来,我可以在独立和绑定到 JPA 2 的情况下使用 Hibernate?
所以这意味着我可以使用 JPA 2 注释我的类,但如果我不使用它的实现之一,什么都不会发生?
使用限制在 JPA 2 的 Hibernate 究竟有什么好处。我认为这与标准化以及更换 Hibernate 并使用另一个实现替换它而不更改我的代码的可能性有关。但是在独立版本中使用 Hibernate 并绑定到 JPA 2 的主要区别是什么?与使用 Hibernate 独立版本相比,JPA 2 为我提供了更多功能还是限制了我的尊重?我的功能少了吗?
Tnx
【问题讨论】:
-
我认为这篇文章很好地澄清了你的问题:What's the difference between JPA and Hibernate?
标签: java hibernate jpa orm jpa-2.0