hola chicos, espero que les esté yendo bien, estoy detectando una excepción (DataIntegrityViolationException) donde la identificación especificada no se puede eliminar porque todavía está en la entidad principal. Quiero saber si hay alguna forma de obtener esa identificación especificada de la excepción detectada.
Solución del problema
DataIntegrityViolationException
simplemente envuelve la excepción lanzada por el controlador JDBC subyacente. Por lo tanto, depende de si el controlador JDBC proporciona dicha información en la excepción lanzada. Pero según mi experiencia, la mayoría de los controladores JDBC no proporcionarán la identificación violada directamente desde la excepción. Simplemente proporciona algún tipo de código de error o mensaje de error. Puede intentar ver si puede y tiene sentido analizar la identificación violada.
Una forma más confiable de encontrar el ID violado es verificarlo usted mismo de acuerdo con su dominio comercial antes de eliminarlo en lugar de depender de la excepción lanzada. En este caso, simplemente puede averiguar si existen padres para la entidad secundaria antes de eliminarla.
Para obtener la excepción lanzada por el controlador JDBC DataIntegrityViolationException
(es decir, la excepción de causa raíz), tiendo a usar la biblioteca Guava para obtenerla.
No hay comentarios:
Publicar un comentario