gpt4 book ai didi

java - JPA/EJB3 关系

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:16 25 4
gpt4 key购买 nike

我一直在阅读有关 JPA 和 EJB3 的文章,并想确认我对它们关系的理解是正确的。这是我想我知道的...

JPA 是一种已被许多供应商实现的规范,包括:

  • JBoss/hibernate
  • Oracle/TopLink Essentials(现为 EclipseLink)
  • Apache/OpenJPA

EJB3 是在应用服务器中实现的规范,包括:

  • 玻璃鱼
  • J老板

这个对吗?

最佳答案

Java EE 5 中引入的 Java Persistence API 是 EJB 3 的一个子集,并取代了 EJB 2.0 CMP 的持久性解决方案。 JPA 1.0 已被定义为 EJB 3.0 规范 ( JSR 220 ) 的一部分,但可以在没有 EJB 容器的情况下使用,也可以在 EJB 容器之外使用。在 Java EE 6 中,JPA 2.0 在 EJB 3.1 规范 ( JSR 317 ) 之外有其单独的规范 ( JSR 318 )。所以总结一下:

  • JPA 是 EJB 3 的子集,实现由持久性提供程序提供,例如 Toplink Essentials/EclipseLink、Hibernate、Kodo/OpenJPA(Kodo 是 OpenJPA 源代码所在的项目派生的,而 Kodo 现在又基于 OpenJPA)等。

  • EJB 3 是一个更广泛的规范,其实现由依赖持久性提供程序的应用程序服务器的EJB 容器提供:

    • GlassFish v3 的默认持久性提供程序是 EclipseLink
    • JBoss 默认的持久化提供者是 Hibernate
    • WebLogic 10.3.1+ 的默认持久性提供程序是 OpenJPA/Kodo 或 EclipseLink
    • WebSphere 6.1+ 的默认持久性提供程序是(基于)OpenJPA

关于java - JPA/EJB3 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859155/

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