JPA 还是 Java Persistence 的 Hibernate?

2022-09-04 20:47:29

我正在研究Java,.NET和Groovy中的企业应用程序的开发。对于每个平台,我们将尝试实现简单的 SOAP Web 服务是多么困难。我们将使用最常用的工具和库,尽可能准确地研究现实世界。

在这方面,当使用Hibernate进行持久性时,使用新的JPA(Java Persistence API)还是JPA出现之前存在的Hibernate自定义API更好地反映了现实世界?


答案 1

您可能已经知道,截至3.2,Hibernate已通过JPA认证。您可以轻松地使用Hibernate作为您的JPA提供程序,而无需使用任何Hibernate的“自定义”API。

我建议使用带有Hibernate作为提供者的直接JPA。并使用注释而不是XML(更好)。

然后,当您需要一些额外的东西时,您始终可以获得休眠会话。例如,我经常发现我需要这样做才能将集合作为参数传递给查询(setParameterList)。


答案 2

有趣的是,你是如何措辞你的问题的

新增功能JPA ...或普通的旧冬眠

听起来一个已经存在了,另一个刚刚发布。当然,事实并非如此。JPA不仅受到Hibernate的影响,还受到TopLink和J2EE实体bean的影响。对JSR 220草案的第一次引用是从2003年开始的 - 对于新的来说,这是怎么回事?如果您将JPA与Hibernate一起使用,您仍然可以使用Hibernate,并且可以自由应用Hibernate具有的任何专有扩展。

因此,选择权在您手中:使用专有 API 或使用等效的已建立和标准的 API...


推荐