Pregunta

Actualmente estamos creando un único EntityManager por solicitud en nuestra aplicación web. Estamos con ganas de crear una transacción al inicio de la solicitud y cerrarla al final para conseguir el apoyo automático de transacciones a través de toda la solicitud.

¿Alguien ha probado esto? y que este introducir problemas de concurrencia o es simplemente debemos envolver todo nuestro código de actualización en una operación separada?

Tenga en cuenta que estamos usando JPA 1.0

¿Fue útil?

Solución

Para aplicaciones simples, esto es suficiente (una transacción por petición). Pero para los escenarios más complejos que tendrá que utilizar las transacciones en el nivel más granular.

En principio siempre me envuelvo mis transacciones de actualización, según sea necesario.

De todos modos su enfoque no impide que abra una nueva transacción en el medio de la solicitud, si es necesario. Así que está bien por mí.

Y algo acerca de los posibles problemas de concurrencia ... Si se puede prever problemas, dirección de ellos, de lo contrario no se preocupe demasiado por ello. Debe ser sencillo y no quedar atrapado en optimizaciones prematuros

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top