繁体   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