Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 231 by
ionp...@gmail.com: fallo transaccionalidad con UDA
https://code.google.com/p/uda/issues/detail?id=231
Hola,
No nos funciona la transaccionalidad en un método en el que hacemos varias
inserts en diferentes tablas (llamando a diferentes DAOs).
En la función editFichaExp del service realizamos varias inserts, updates y
deletes. Primero añadimos o editamos una ficha (ver k7201DaoImpl),
insertamos en una tabla de historial(ver k72ausDaoImpl), después eliminamos
delegados(ver k7202DaoImpl) y representantes(ver k7203DaoImpl) de la ficha
y finalmente añadimos delegados y representantes. Todo esto se hace dentro
de la misma función del service y esta tiene puesto la etiqueta
@Transactional(propagation = Propagation.REQUIRED, rollbackFor =
Throwable.class). Las llamadas a las inserts, updates y deletes se hacen a
través de diferentes DAOs que tienen definido la etiqueta de transactional
a nivel de la clase. Tanto en la función del service como en el Controller
que la llama, tenemos un throws Exception para que lance las excepciones.
Aparentemente todo esta correcto para que todo funcione con la misma
transacción y que si en alguna de las operaciones ocurre un error, lance el
error y haga un rollback con el resto de operaciones.
Al hacer pruebas forzamos un error en el último paso, concretamente al
insertar delegados salta el error pero las operaciones anteriores con el
acta y el historial se mantienen, no hace rollback.
Adjunto controller, service y daos.
Saludos,
Attachments:
K7201s00DaoImpl.java 96.6 KB
K7202s00DaoImpl.java 96.0 KB
K7203s00DaoImpl.java 36.2 KB
K7201s00ServiceImpl.java 21.0 KB
K7201s00Controller.java 64.9 KB
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings