gpt4 book ai didi

java - JPA 2 和 Hibernate 之间有什么关系?

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:39 24 4
gpt4 key购买 nike

我对 Java ORM 世界还很陌生,我对 JPA 2Hibernate 之间的关系和差异有一些疑问。

阅读文档,在我看来,JPA2 是一个规范,而Hibernate该规范的特定实现。这是真的吗? JPA 2 是一个规范到底意味着什么?什么是规范?我认为它提供了一些接口(interface)(或类似的东西),其中定义了在数据库上执行操作的常见所需行为(例如:插入、删除、选择、更新操作等)。

所以我认为JPA2提供了一个常见操作的列表以及未实现的方法来执行它,并且像Hibernate这样的ORM框架实现了它。

这是真的还是我错过了什么?所以这意味着我不能在某种独立版本中使用JPA 2,因为它没有实现,但同时我可以使用 Hibernate 作为独立工具(不使用 JPA)?

所以在我看来,我可以独立使用 Hibernate 并绑定(bind)到 JPA 2

这意味着我可以使用 JPA 2 注释我的类,但如果我不使用它的实现之一,什么也不会发生?

使用与 JPA 2 绑定(bind)的 Hibernate 到底有什么好处。我认为这与标准化以及更换 Hibernate 并使用其他实现替换它而无需更改我的代码的可能性有关。但是在独立版本中使用 Hibernate 和绑定(bind)到 JPA 2 的主要区别是什么?与使用 Hibernate 独立版本相比,JPA 2 为我提供了更多功能还是限制了我的尊重?我的功能少了吗?

Tnx

最佳答案

简单来说 - JPA 是一个接口(interface),而 Hibernate 是它的实现。因此,最好的方法是使用 JPA 2 注释 - 在这种情况下,规则适用于针对接口(interface)而不是实现的代码

关于java - JPA 2 和 Hibernate 之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27740897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com