当前位置: 首页 > 面试题库 >

persistence.xml不同的事务类型属性

端木令
2023-03-14
问题内容

在persistence.xml JPA配置文件中,可以有如下一行:

<persistence-unit name="com.nz_war_1.0-SNAPSHOTPU" transaction-type="JTA">

或有时:

<persistence-unit name="com.nz_war_1.0-SNAPSHOTPU" transaction-type=”RESOURCE_LOCAL”>

我的问题是:

transaction-type="JTA"和之间有什么区别transaction-type=”RESOURCE_LOCAL”

我还注意到缺少事务类型的一些persistence.xml文件。这是正确的吗?


问题答案:

默认值

在JavaEE环境中,默认值为 JTA ;在JavaSE环境中,默认值为 RESOURCE_LOCAL

RESOURCE_LOCAL

<persistence-unit transaction- type="RESOURCE_LOCAL">您一起负责EntityManagerPersistenceContext/Cache)创建和跟踪

  • 您必须使用EntityManagerFactory来获得EntityManager
  • 结果EntityManager实例为PersistenceContext/Cache An,EntityManagerFactory只能通过@PersistenceUnit注释注入(不能通过@PersistenceContext
  • 不允许使用@PersistenceContext引用类型的单位RESOURCE_LOCAL
  • 您必须使用EntityTransactionAPI来开始/提交对您的每次调用的请求EntityManger
  • 调用entityManagerFactory.createEntityManager()两次将导致两个单独的EntityManager实例,因此产生两个单独的PersistenceContexts/Caches
  • 拥有一个以上EntityManager正在使用的实例几乎从来不是一个好主意(除非已销毁了第一个实例,否则不要创建第二个实例)

日本旅游协会

使用<persistence-unit transaction- type="JTA">容器将EntityManagerPersistenceContext/Cache)创建和跟踪。

  • 您不能使用EntityManagerFactory来获得EntityManager
  • 您只能得到EntityManager集装箱提供的
  • 一个EntityManager可以通过被注入@PersistenceContext注解只有(未@PersistenceUnit
  • 不允许使用@PersistenceUnit引用JTA类型的单元
  • EntityManager由容器给出的到一个参考PersistenceContext/Cache与JTA事务相关联。
  • 如果没有正在进行的JTA事务,则EntityManager因为没有,所以不能使用PersistenceContext/Cache
  • EntityManager在同一笔交易中引用相同单位的每个人都将自动引用相同的PersistenceContext/Cache
  • PersistenceContext/Cache刷新和JTA清除提交时间


 类似资料:
  • 在Swift中,有人能解释一下如何用从原始属性子类的另一个对象重写超类的属性吗? 如果将底盘改为“var”,则会出现错误: 我在指南中“重写属性”下找到的唯一东西表明,我们必须重写getter和setter,这可能用于更改属性的值(如果它是'var'),但更改属性类怎么办?

  • 我试图设置两个线程,它们在另一个类中增加或减少一个整数。我对这个属性的同步有一些问题。 这是我的主要类,我在其中设置了线程和计数器类: 这是我的柜台课: 这是我的Thread1类:(runnable类是一样的,只是用“实现Runnable”而不是“扩展线程”) 但是,我的输出始终是10000000。尽管我同步了两种方法。有人能解释这是怎么回事吗?

  • 问题内容: 我有一个JSON 不同系列中的值是(“ rating”:0)或(“ rating”:“ 9.6747”)。 我正在使用Codable / Decodable协议解析JSON: 如果rating == String,则我的代码有效,并且我具有JSON中的所有变量,但是如果rating == Int,则全部为。我应该怎么做来解析所有类型变量一次和? 我的可解码功能: 谢谢。 问题答案: 您

  • 本文向大家介绍MySQL ENUM数据类型的不同属性是什么?,包括了MySQL ENUM数据类型的不同属性是什么?的使用技巧和注意事项,需要的朋友参考一下 可以使用以下影响允许值的属性来定义MySQL ENUM类型- NOT NULL-  在ENUM类型中,默认情况下允许NULL值。要禁止NULL值,我们需要在描述ENUM列时使用NOT NULL属性。 NULL  -NULL属性是DEFAULT

  • 我有一个REST API,它返回JSON响应为: 有时它会返回: 我有一个这样的POJO: 那么,有没有办法(除了编写自己的自定义反序列化程序)在 Jackson2 中帮助我将 JSON 中的通道映射到字符串类型(当它是时)和类型(当它是 JSON 对象时)? 或者换句话说,Jackson中是否有一种方法可以通过变量的映射,而不仅仅是通过?

  • 问题内容: 在Swift中,有人可以解释如何用原始属性的子类覆盖另一个超类的属性吗? 举一个简单的例子: 这给出了错误: 如果我将机箱设为“ var”,则会收到错误消息: 在指南中“覆盖属性”下唯一可以找到的内容表明,我们必须覆盖getter和setter,这可能会更改属性的值(如果它是’var’),但是如何更改属性类呢? ? 问题答案: Swift不允许您更改任何变量或属性的类类型。相反,您可以