gpt4 book ai didi

java - Hibernate 和 JPA,用什么,用在哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:23 26 4
gpt4 key购买 nike

有人可以向我解释一下 JPA 和 Hibernate 之间的主要区别是什么吗?

在哪里使用 Hibernate?

在哪里使用 JPA?

为什么不是实体 bean?

最佳答案

一点历史:

实体 bean 是 EJB 1 和 2 的一部分。它们很难使用,因此需要一个替代方案。然后Hibernate出现了。 (我不记得这些时间了)

Hibernate 发展成为对象关系映射中的事实上的标准。然后决定需要一个标准,因此创建了受 Hibernate 影响很大的 JPA 规范。

JPA 只是一个规范 - 它定义了 ORM 框架应该做什么,以及它应该支持哪些注释。 JPA 由许多供应商实现 - Hibernate、EclipseLink、OpenJPA 等。

所以:

  • 不要使用实体 bean
  • 使用您喜欢的任何 JPA 实现。 Hibernate 绝对是一个不错的选择。

更新:关于评论中的次要问题:

是的,您可以将 JPA 与 EJB session bean 一起使用:

@Stateless
public class YourSessionBean implements RemoteInterface {

@PersistenceContext
private EntityManager entityManager; // this is the JPA EntityManager
}

并且您拥有由容器注入(inject)的实体管理器并准备好操作 JPA 实体。当然你需要为此进行配置,但这超出了这个问题的范围。

关于java - Hibernate 和 JPA,用什么,用在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3108957/

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