簡體   English   中英

JPA-JTA事務類型的更改不會持久保存

[英]JPA - Changes are not persisted for JTA transaction type

我正在使用JTA,而我的persistence.xml如下

<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"
             xmlns="http://java.sun.com/xml/ns/persistence">
  <persistence-unit name="test" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>jdbc/testDS</jta-data-source>
    <class>test.entity.Employees</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
      <property name="eclipselink.target-server" value="OC4J"/>
      <property name="javax.persistence.target-database" value="Oracle"/>
      <property name="javax.persistence.logging.parameters" value="TRUE"/>
    </properties>
  </persistence-unit>
</persistence>

當我使用JTA時,我沒有EntityTransaction。

Java代碼段

    Employees emp = new Employees();
    emp.setEmpNumber(empPOJO.getEmpNumber());
    final EntityManager em = getEntityManager();
    try {           
            em.merge(vehicleInspection);            
    } finally {
        if (em != null && em.isOpen()) {
            em.close();
        }
    }
}

但是我不能持久保存數據庫中的更改,是因為沒有提交嗎?

啟用事務后,您必須正確處理它們。 檢查此怪異JPA示例代碼以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM