Pergunta

Estou usando o Hibernate Validator 4.0.2, Spring 3.0 e Hibernate 3.3.2 (que, como eu o entendo, é pré-JPA2) como um provedor JPA 1.

Achei fácil integrar o validador na camada MVC (apenas funciona), mas não consigo ver como integrar o validador automaticamente no JPA EntityManager (JPA 1).

Basicamente, tenho algumas entidades que serão persistidas, mas que não vêm da camada da web e, portanto, ainda não foram validadas. Eu gostaria de uma maneira interessante de executá-los através do pré-persistência do validador.

Existe uma maneira fácil de fazer isso? Estou ciente de que, se eu estava usando um provedor JPA 2 (como o Hibernate 3.5 quando é lançado), seria quase automático. Isso é aproximadamente o que estou procurando.

Foi útil?

Solução

Você precisa escrever um ouvinte de entidade e acionar a validação em @PrePersist, @PreUpdate e até mesmo @PreRemove (Existem casos de uso válidos para isso). Ver Validação de feijão com JPA 1.0 Para uma amostra de código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top