Ném checked exception: bản ghi vẫn được lưu. Ném RuntimeException: không. Mặc định của Spring là vậy
@Transactional chạy bằng proxy nên tự gọi thì không có tác dụng, quy tắc rollback đo được, và readOnly âm thầm nuốt thay đổi.
@Transactional chạy bằng proxy nên tự gọi thì không có tác dụng, quy tắc rollback đo được, và readOnly âm thầm nuốt thay đổi.
LazyInitializationException đo được, OSIV giấu nó đi bằng cách nào, cái giá phải trả, và cách sửa đúng.
Đo N+1 trên dữ liệu thật, ba cách chữa với số truy vấn đo được, và vì sao @ManyToOne mặc định là EAGER lại là lỗi thiết kế của JPA.
Repository của Spring Data JPA, truy vấn dẫn xuất từ tên phương thức, projection bằng interface, và chỗ tên phương thức không còn đáng dùng.