[英]JPA/EJB3 Relationship
我一直在阅读有关JPA和EJB3的信息,并想确认我对它们之间关系的理解是正确的。 这就是我想知道的...
JPA是已经由许多供应商实施的规范,其中包括:
EJB3是在应用服务器中实现的规范,包括:
它是否正确?
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容器提供了实现:
是的, DataNucleus也实现了JPA1和JPA2,它还实现了JDO1,JDO2,JDO3以及OGC简单功能规范。 并且也是唯一真正独立的实现(与大型软件供应商无关)。 显然,用户可以随意将其希望的任何JPA实现插入其EJB3环境中。
是的,我也使用过Google OpenJPA,但这是正确的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.