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