[英]JPA - Changes are not persisted for JTA transaction type
I am using JTA and my persistence.xml is as follows 我正在使用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>
As I am using JTA, I do not have EntityTransaction. 当我使用JTA时,我没有EntityTransaction。
Java code snippet 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();
}
}
}
However I am not able to persist changes in database.Is it because of not having a commit? 但是我不能持久保存数据库中的更改,是因为没有提交吗?
With transactions enabled you have to handle them properly. 启用事务后,您必须正确处理它们。 Check this wiky and JPA sample code for more details.
检查此怪异和JPA示例代码以获取更多详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.