Pregunta

Estoy usando OpenJPA y desea configurarlo para utilizar la confirmación automática en cada operación de escritura / inserción.

En este momento tengo que hacer esto:

        MyEntity e = new MyEntity();
        em.getTransaction().begin();
        em.persist(e);
        em.getTransaction().commit();

Lo que yo quiero ser capaz de hacer es lo siguiente:

MyEntity e = new MyEntity();        
em.persist(e); // auto commit here

tengo este conjunto propiedad en true:

openjpa.NontransactionalWrite : true

¿Alguna pista?!

¿Fue útil?

Solución

No se puede auto-entrega con APP. Si desea eliminar la gestión de transacciones local, utilice JTA / o CMT primavera transacciones manejadas.

Otros consejos

Por lo que yo sé, OpenJPA utiliza el valor de confirmación automática de la conexión subyacente. Pero establece explícitamente el compromiso automático en false cada vez que comienza una transacción.

Puede comprobar la conexión subyacente con el siguiente código:

OpenJPAEntityManager oem = OpenJPAPersistence.cast(em);
Connection conn = (Connection) oem.getConnection();
boolean autoCommit = conn.getAutoCommit();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top