Pytanie brzmi: gdzie lepiej (lub innymi słowy: gdzie wolisz) umieścić logikę weryfikacji biznesowej jednostek Jpa.Sprawdzanie poprawności jednostek Jpa: w usłudze lub przez słuchaczy cyklu życia
Dwa pomysły są:
- W EntityListener że przed zapisaniem lub zmiana będzie zatwierdzenia podmiotu
- W usłudze, która umożliwia dostęp do metod JPA utrzymujących.
Istnieją zalety i wady obu. Korzystając z podejścia nr 2, łatwiej jest przetestować, ponieważ możesz po prostu sfałszować dostawcę jpa i przetestować logikę walidacji. Z drugiej strony z podejściem nr 1 walidacja miałaby miejsce w tym samym momencie z zatwierdzeniami, takimi jak @NotNull itp.
Chciałbym wiedzieć, w jaki sposób rozwiązuje się walidacje w swoich projektach i który jest lepszy.
Dzięki.