Hola,

Soy nueva en el foro y en temas de spring, hibernate.. así que voy a contar mi problema a ver si me pueden echar una mano...

Estoy trabajando en una aplicación web con spring, hibernate y jsf. Desde la aplicación cargo un fichero de texto. Por cada registro que se lee del fichero hago un insert en una tabla de BBDD que tiene una constraint. El problema es que puede haber registros de ese fichero que ya estén en bbdd con lo que al insertarlos me salta una excepción de ConstraintViolated y termina el proceso.

Lo que quiero es capturar la excepción pero no lanzarla, es decir, seguir y que no se pare el proceso ya que ese registro le voy a llevar a un fichero de rechazados.

Como he dicho antes, soy nueva en esto, y parece que al utilizar el hibernateTemplate, las excepciones se lanzan 'solas' :-)...

¿Me pueden ayudar?

Muchas gracias!!!!!!!!!

 

 

Hola!

El comportamiento de Hibernate template es ese, una buena práctica es arrojar las excepciones hasta la última capa para manejarlas.

Más bien yo vería que tu implementación debería de buscar el registro y actuar sobre el, es decir si existe actualizaro u omitirlo, si no existe entonces insertarlo.

Ahora bien si lo que deseas es actuar en consecuencia de que se arroje una excecpión a manera de Bitacora te recomiendo que la solución la hagas con un Aspecto, un After Throwing para ser más preciso, en donce checas esos registros que te están arrojando excepción