java - JPA 容器持久单元与 JPA 非容器持久单元

标签 java jpa

我是 JPA 的新手,在 JPA 的许多资源中我遇到这两个术语(容器持久性单元和非容器持久性单元),但我无法理解差异。有人可以帮助我理解这些短语吗?容器是什么?是类似的东西吗 Tomcat ?

最佳答案

在此上下文中,“容器”指的是 EJB 容器,通常由符合 Java EE 的应用程序服务器提供。

由于 Tomcat 不兼容 Java EE,因此它不是 JPA 规范意义上的“容器”。 Tom EE然而,像其他 Java EE 服务器一样提供了这样的容器。 Oracle 提供了complete list of compliant servers

主要区别在于,在容器中您可以使用 JTA 资源,例如事务和事务范围的 EntityManager。如果没有容器,您必须使用 ÈntityTransactionEXTENDED EntityManager

关于java - JPA 容器持久单元与 JPA 非容器持久单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22761581/

相关文章:

java - 用于编程的基本排序和搜索算法 (Java)

java - 使用 sendKeys 的消息 "org.openqa.selenium.InvalidSelectorException: invalid selector: Unable to locate an element with the XPath expression"

java - hibernate一次插入三个表

java - Spring 安全问题 - Web 应用程序启动时没有错误,但行为不稳定

java - Getter 和 Setter 返回 null

java - 空对象模式与新对象

java - 找不到元素 'persistence' 的声明

java - JPA/Hibernate 查询返回过时的结果

java - JPA 查询 LIKE 不起作用

jpa - 第一次事务因 IJ000457、IJ000461 和 IJ000356 失败,但此后有效