Primavera - Transacción de solo lectura
Solo quería sus opiniones de expertos sobre la gestión de transacciones declarativas para Spring. He aquí mi arreglo:
La capa DAO es un JDBC antiguo simple que usa Spring JdbcTemplate (sin Hibernate, etc.)La capa de servicio es POJO con transacciones declarativas de la siguiente manera:save*, readonly = false, rollback for Throwable
Las cosas funcionan bien con la configuración anterior. Sin embargo cuando digoget*, readonly = true
, Veo errores en mi archivo de registro diciendoDatabase connection cannot be marked as readonly
. Esto sucede para todos los métodos get * en la capa de servicio.
Ahora mis preguntas son:
A. ¿Tengo que configurarget*
como solo lectura? Toda miget*
Los métodos son operaciones de DB de lectura pura. No deseo ejecutarlos en ningún contexto de transacción. ¿Qué tan serio es el error anterior?
B. Cuando quito elget*
configuración, no veo los errores. Más aún, todo mi simpleget*
Las operaciones se realizan sin transacciones. ¿Es este el camino a seguir?
C. ¿Por qué alguien querría tener métodos transaccionales dondereadonly = true
? ¿Hay algún significado práctico de esta configuración?
¡Gracias! Como siempre, ¡sus respuestas son muy apreciadas!