Câu hỏi đặt ra là ở đâu tốt hơn (hoặc nói cách khác: bạn thích) đặt logic xác thực nghiệp vụ của thực thể Jpa.Xác thực đối tượng Jpa: Trong dịch vụ hoặc bởi người nghe vòng đời
Hai ý tưởng là:
- Trong EntityListener rằng trước khi lưu hoặc cập nhật sẽ xác nhận các thực thể
- Trong dịch vụ cung cấp quyền truy cập vào các phương pháp bền bỉ JPA.
Có ưu và khuyết điểm của cả hai. Khi sử dụng phương pháp tiếp cận số 2, việc kiểm tra dễ dàng hơn vì bạn chỉ có thể giả lập nhà cung cấp jpa và kiểm tra logic xác thực. Mặt khác với cách tiếp cận số 1, việc xác thực sẽ xảy ra cùng lúc với các xác thực như @NotNull, v.v.
Tôi rất muốn biết cách bạn giải quyết các xác nhận trong các dự án của mình và đó là cách tốt nhất để đi.
Cảm ơn.