【问题标题】:Which JPA implementation does Eclipse use?Eclipse 使用哪种 JPA 实现?
【发布时间】:2015-11-25 18:46:57
【问题描述】:

我知道 JPA 和具体实现之间的区别,例如 Hibernate 或 EclipseLink,但是我感兴趣的是,当我下载例如 Eclipse JAVA EE 版本,然后在我的项目中使用 javax.persistence 包时,哪个实现它使用吗?我的猜测是 EclipseLink 或 OpenJPA,但我怎么知道?

我对此感兴趣,因为我比较了 Hibernate 和 javax.persistence 包的性能(只有几千行来自 db),从我的角度来看,性能差距相当大(大约一秒)

【问题讨论】:

  • 在编译时它不使用任何内容。在运行时,它使用您配置它使用的内容,根据下拉菜单。这不是性能比较的网站;所有实现都可以配置为提供出色的性能。
  • 是的,我知道我在数据库性能方面不是专业人士,我只是做了基本测试,这让我感到非常惊讶

标签: java eclipse hibernate jpa


【解决方案1】:

Eclipse EE 将通过 JPA facet 捆绑 EclipseLink,您可以添加到项目中,但除此之外它并没有真正提供任何特定的实现(如果您使用 facet 与其他用户库一起配置,您可以将其配置为提供其他实现)。您的实现由库或您要部署到的应用服务器提供。从长远来看,更具战略性的方法是通过依赖项(maven)或引用/使用应用服务器提供的库来显式包含实现。

【讨论】:

    【解决方案2】:

    您可以使用平台下拉菜单在 JPA Facet 窗格中选择它。见Eclipse documentation

    如果您想使用 Hibernate,您必须在 Eclipse Marketplace 中手动添加它。见:JPA Creation - Hibernate not showing in platform

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-17
      • 2011-04-28
      • 2016-12-20
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多