Использование Hibernate Validator с JPA и Spring - PullRequest
2 голосов
/ 09 марта 2010

Я использую Hibernate Validator 4.0.2, Spring 3.0 и Hibernate 3.3.2 (который, как я понимаю, до JPA2) в качестве поставщика JPA 1.

Мне было легко интегрировать валидатор в слой MVC (он просто работает), но не вижу, как автоматически интегрировать валидатор в JPA entityManager (JPA 1).

В принципе, у меня есть некоторые сущности, которые будут сохраняться, но не будут поступать из веб-слоя и поэтому еще не были проверены. Мне бы хотелось, чтобы аккуратный способ пропустить их через валидатор предварительно сохранился.

Есть ли простой способ сделать это? Я знаю, что если бы я использовал провайдера JPA 2 (например, Hibernate 3.5, когда он был выпущен), это было бы почти автоматически. Это примерно то, что я ищу.

1 Ответ

3 голосов
/ 09 марта 2010

Вам нужно написать прослушиватель сущностей и запустить проверку на @PrePersist, @PreUpdate и даже @PreRemove (для этого есть действительный вариант использования). См. Проверка компонента с помощью JPA 1.0 для примера кода.

...