estoy usando JBoss 6 con la costura, y tengo una entidad que estoy tratando de persistir, User
. He ampliado org.jboss.seam.framework.EntityHome
proporcionar una clase UserHome
y han anulado el método persist()
. He anotado a fondo mi clase de entidad con anotaciones de javax.validation. Cuando proporciono valores válidos para todos los campos en mi clase de entidad, el objeto se conserva sin problemas. Cuando violo una de las restricciones de validación, la persistencia falla como se esperaba.Entidad persistir registrarse validación oyente
El problema que estoy teniendo es con violaciónes de restricción durante la persistencia asíncrono: hibernación no me dice lo que la restricción ha sido violada!
javax.validation.ConstraintViolationException: validation failed for classes [com.example.model.User] duringpersist time for groups [javax.validation.groups.Default, ]
at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:132)
at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.onPreInsert(BeanValidationEventListener.java:71)
Si fuerzo persistencia síncrona mediante la adición de EntityManager.flush()
-UserHome.persist()
, entonces puede coger las declaraciones ConstraintViolationException
y registro de salida que contiene las restricciones violadas.
Mi pregunta: ¿es posible registrar un oyente con Hibernate/JBoss para las violaciónes de restricción? Creo que es un poco cojo que hibernate no imprima las violaciones, pero con suerte puedo insertar algún código que atrape y logge para obtener más información. De lo contrario, no tengo idea de qué restricción se violó.
Gracias!
favor, que sus respuestas a continuación respuesta – developer