Este conteúdo não está disponível no idioma selecionado.
2.2.2. Java Persistence event-based validation
Hibernate Validator is not tied to Hibernate for event based validation: a Java Persistence entity listener is available. Whenever an listened entity is persisted or updated, Hibernate Validator will verify all constraints of the entity instance and throw an exception if any constraint is violated. Basically, objects will be checked before any inserts and before any updates made by the Java Persistence provider. This includes changes applied by cascade! On constraint violation, the event will raise a runtime
InvalidStateException which contains an array of InvalidValues describing each failure.
Here is how to make a class validatable:
@Entity
@EntityListeners( JPAValidateListener.class )
public class Submarine {
...
}
@Entity
@EntityListeners( JPAValidateListener.class )
public class Submarine {
...
}
Note
Compared to the Hibernate event, the Java Persistence listener has two drawbacks. You need to define the entity listener on every validatable entity. The DDL generated by your provider will not reflect the constraints.