Я использую Glassfish 3.1.1 (JSF 2, JPA 2, EclipseLink, Bean Validation).
Я пытаюсь реализовать проверку с помощью API Bean Validation с этими аннотациями: @Past
,@Future
и @NotNull
.
Отлично работает при вставке или обновлении.К сожалению, когда я пытаюсь выбрать объект, у которого есть некоторые неправильные значения, у меня есть это исключение:
[#|2011-12-20T10:18:30.286+0100|WARNING|glassfish3.1.1|javax.enterprise.resource.jta.com.sun.enterprise.transaction|_ThreadID=36;_ThreadName=Thread-2;|DTX5014: Caught exception in beforeCompletion() callback:
javax.validation.ConstraintViolationException: Bean Validation constraint(s) violated while executing Automatic Bean Validation on callback event:'preUpdate'. Please refer to embedded ConstraintViolations for details.
at org.eclipse.persistence.internal.jpa.metadata.listeners.BeanValidationListener.validateOnCallbackEvent(BeanValidationListener.java:90)
at org.eclipse.persistence.internal.jpa.metadata.listeners.BeanValidationListener.preUpdate(BeanValidationListener.java:72)
Я видел в спецификации, что я могу отключить проверку JPA с этим свойством javax.persistence.ValidationMode
, но как отключить проверку во время выбора, но НЕ во время вставки или обновления ?
Заранее спасибо за помощь.