Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自动提交OpenJPA写入_Java_Jpa_Openjpa - Fatal编程技术网

Java 自动提交OpenJPA写入

Java 自动提交OpenJPA写入,java,jpa,openjpa,Java,Jpa,Openjpa,我正在使用OpenJPA,并希望将其配置为在每次写入/插入操作中使用自动提交 目前,我必须这样做: MyEntity e = new MyEntity(); em.getTransaction().begin(); em.persist(e); em.getTransaction().commit(); 我希望能够做到的是: MyEntity e = new MyEntity(); em.persist(e); /

我正在使用OpenJPA,并希望将其配置为在每次写入/插入操作中使用自动提交

目前,我必须这样做:

        MyEntity e = new MyEntity();
        em.getTransaction().begin();
        em.persist(e);
        em.getTransaction().commit();
我希望能够做到的是:

MyEntity e = new MyEntity();        
em.persist(e); // auto commit here
我已将此属性设置为true:

openjpa.NontransactionalWrite : true

有线索吗

据我所知,OpenJPA使用底层连接的autocommit值。但无论何时开始事务,它都会显式地将autocommit设置为false

您可以使用以下代码检查基础连接:

OpenJPAEntityManager oem = OpenJPAPersistence.cast(em);
Connection conn = (Connection) oem.getConnection();
boolean autoCommit = conn.getAutoCommit();

您不能使用JPA自动提交。如果要删除本地事务管理,请使用JTA/CMT或Spring管理的事务