Jpa 此线程当前没有活动的外部管理事务(只有持久查询!!)
您好,我一直在使用GlassFish服务器上的Spring4和EclipseLink开发一个web应用程序。 我在mySQL服务器上使用wampserver,在GlassFish上使用connexion池 这是我的persistence.xmlJpa 此线程当前没有活动的外部管理事务(只有持久查询!!),jpa,persistence,jta,spring-transactions,transactionmanager,Jpa,Persistence,Jta,Spring Transactions,Transactionmanager,您好,我一直在使用GlassFish服务器上的Spring4和EclipseLink开发一个web应用程序。 我在mySQL服务器上使用wampserver,在GlassFish上使用connexion池 这是我的persistence.xml <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/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_2_0.xsd">
<persistence-unit name="NetworkAdministrationBD_pu" transaction-type="JTA">
<jta-data-source>networkadminDB2</jta-data-source>
<class>tn.insat.entities.Administrateur</class>
<class>tn.insat.entities.Responsable</class>
</persistence-unit>
</persistence>
当在JPQL中或直接通过EntityManager方法(em.find())执行非持久性查询时,“AdministratorDao”对象工作正常
但是,当执行持久性查询(例如em.remove())时,我会遇到上述异常
delete方法表单“administrateurDao”如下所示:
try{
Query query = em.createQuery("DELETE FROM Administrateur a WHERE a.id = :id");
query.setParameter("id", id);
query.executeUpdate();
}
catch (Exception e){
throw new DAOException() ;
}
经过一些调试和测试,我发现错误是在
query.executeUpdate();
指挥部
我不知道它是否相关,但GWT RPC服务也使用了“AdministrationUrDAO”存储库bean
我已经阅读了所有的互联网问题和文档,没有一个在不将事务类型从JTA更改为RESOURCE_LOCAL或切换hole持久层的情况下提出解决方案
另外,添加@Transactional注释会引发另一个异常:
Exception Description: Cannot use an EntityTransaction while using JTA.
我被困太久了,有什么想法吗
query.executeUpdate();
Exception Description: Cannot use an EntityTransaction while using JTA.