La domanda è dove è meglio (o in altre parole: dove preferisci) mettere la logica di convalida aziendale delle entità Jpa.Convalida entità Jpa: in servizio o per ascoltatori del ciclo di vita
due idee sono:
- Nel EntityListener che prima di salvare o aggiornamento dovrebbe convalidare l'entità
- Nel servizio che fornisce l'accesso a metodi persistenti JPA.
Ci sono pro e contro di entrambi. Quando si utilizza l'approccio n. 2, è più facile testare poiché si può semplicemente prendere in giro il provider jpa e testare la logica di convalida. D'altra parte con l'approccio n. 1 la convalida avverrà nello stesso momento con convalide come @NotNull ecc.
Mi piacerebbe sapere come risolvi le convalide nei tuoi progetti e quale sia la via migliore da percorrere.
Grazie.