我一直在阅读有关JPA和EJB3的内容,并想确认我对他们关系的理解是正确的.这就是我认为我知道的......
JPA是由许多供应商实施的规范,包括:
EJB3是在Application Server中实现的规范,包括:
它是否正确?
Pas*_*ent 21
Java EE 5中引入的Java Persistence API是EJB 3的子集,它取代了EJB 2.0 CMP的持久性解决方案.JPA 1.0已被定义为EJB 3.0规范(JSR 220)的一部分,但可以在EJB容器之外和之外使用.在Java EE 6中,JPA 2.0 在EJB 3.1规范(JSR 318)之外有其单独的规范(JSR 317).总结一下:
JPA是EJB 3的子集,实现由持久性提供程序提供,如Toplink Essentials/EclipseLink,Hibernate,Kodo/OpenJPA(Kodo是OpenJPA源代码派生的项目,而Kodo现在又基于OpenJPA)等
EJB 3是一个更广泛的规范,实现由依赖持久性提供程序的应用程序服务器的EJB容器提供: