如果使用EJB3 JPA,我是否需要hibernate?

时间:2012-01-27 19:46:59

标签: java hibernate java-ee jpa ejb-3.0

我知道JPA只是一个标准,要使用它你需要一个实现,比如Hibernate3.2,我的问题是:EJB3是否带有JPA的实现,还是除了EJB3之外还需要hibernate等实现? 如果您能指出我的任何有用的教程,那将是很棒的:)

由于

3 个答案:

答案 0 :(得分:3)

如果容器支持JPA,它会为您提供API(EntityManager和其他),您不关心实现它的是什么。所以不,你不必使用Hibernate。一些容器将使用下面的Hibernate,其他EclipseLink等。但是从您的角度来看,您使用的是正常工作的API

答案 1 :(得分:1)

如果您正在使用Hibernate功能,例如 @Filter ,那么您应该使用Hibernate作为您的JPA提供程序。一些应用程序服务器(例如JBoss)使用Hibernate作为其JPA提供程序。

答案 2 :(得分:1)

这取决于Java EE容器的具体实现。 JPA更像是一个接口,规范,而Hibernate是一个自定义的JPA实现。

Hibernate加入了JBoss,Eclipselink是Glassfish附带的另一个JPA实现的一个例子。但如果你愿意,你仍然可以使用Hibernate + Glassfish。