我是 JPA 的新手,在 JPA 的许多资源中我遇到这两个术语(容器持久性单元和非容器持久性单元),但我无法理解差异。有人可以帮助我理解这些短语吗?容器是什么?是类似的东西吗 Tomcat ?
最佳答案
在此上下文中,“容器”指的是 EJB 容器,通常由符合 Java EE 的应用程序服务器提供。
由于 Tomcat 不兼容 Java EE,因此它不是 JPA 规范意义上的“容器”。 Tom EE然而,像其他 Java EE 服务器一样提供了这样的容器。 Oracle 提供了complete list of compliant servers 。
主要区别在于,在容器中您可以使用 JTA 资源,例如事务和事务范围的 EntityManager
。如果没有容器,您必须使用 ÈntityTransaction
和 EXTENDED
EntityManager
。
关于java - JPA 容器持久单元与 JPA 非容器持久单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22761581/