【发布时间】:2012-04-10 12:23:44
【问题描述】:
我了解 JPA 2 是一种规范,而 Hibernate 是一种用于 ORM 的工具。另外,我知道 Hibernate 比 JPA 2 有更多的功能。但是从实际的角度来看,真正的区别是什么?
我有使用 iBatis 的经验,现在我正在尝试学习 Hibernate 或 JPA2。我拿起了 Pro JPA2 书,它一直提到“JPA 提供者”。例如:
如果您认为某项功能应该标准化,您应该说出来 并向您的 JPA 提供者请求
这让我很困惑,所以我有几个问题:
- 单独使用 JPA2 可以通过简单地注释我的 POJO 来从 DB 中获取数据
- JPA2 是否应该与“JPA 提供程序”一起使用,例如 TopLink 或 Hibernate?如果是这样,那么与单独使用 JPA2 或单独使用 Hibernate 相比,使用 JPA2 + Hibernate 有什么好处?
- 能否推荐一本实用的JPA2好书。 “Pro JPA2”似乎更像是一本关于 JPA2 的圣经和参考资料(直到本书的后半部分才进入查询)。有没有一本书采用 JPA2 的问题/解决方法?
【问题讨论】:
-
关于“JPA 和 Hibernate 的区别”的问题不正确。 Battle Hibernate vs JPA 毫无意义。建议将 JPA 的任何实现与 JPA API 一起使用,以避免实现不同的 ORM。
-
@Berguiga.M.Amine ,如果我们已经知道上述问题是不正确的。我们不需要再问了。我也对这个话题感兴趣。
-
我对 spring “org.springframework.orm.jpa.JpaTemplate” 中使用的 JpaTemplate 感到困惑,它有自己的函数,如 persist()、find()、merge() 等。那么如何没有休眠也能正常工作?
-
@nitinverma :这确实是一个单独的问题。如果您仍然需要答案,我建议您单独提出自己的问题以吸引更多反馈。
标签: java hibernate jpa jakarta-ee orm