Domanda

Sto usando Hibernate Validator 4.0.2, Primavera 3.0 e Hibernate 3.3.2 (che, a quanto mi risulta, è pre-JPA2) come provider JPA 1.

ho trovato facile integrare il Validator nello strato MVC (funziona solo), ma non può vedere come integrare automaticamente il validatore nel JPA entityManager (JPA 1).

In sostanza, ho alcune entità che verranno persistito ma che non provengono dallo strato web e hanno, pertanto, non già stato convalidato. Mi piacerebbe un modo pulito di loro che attraversa il validatore pre-persistere.

C'è un modo semplice di fare questo? Sono consapevole che se stavo usando un provider JPA 2 (come Hibernate 3.5 quando viene rilasciato), sarebbe quasi automatico. Questo è più o meno quello che sto cercando.

È stato utile?

Soluzione

Hai bisogno di scrivere un ascoltatore di entità e di innescare convalida @PrePersist, @PreUpdate e anche @PreRemove (ci sono valide caso d'uso per questo). Vedere Bean Validation con JPA 1.0 per un esempio di codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top