Q

Quản trị viên

Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.

2272 bài viết · Website
Spring 09/07/2026 8 phút

@Transactional: tự gọi thì vô hiệu, checked exception vẫn commit, readOnly nuốt thay đổi — ba cái bẫy im lặng

@Transactional như một buồng đệm hai cửa: mọi thứ bên trong hoặc cùng qua cửa (commit) hoặc bị đẩy ngược lại (rollback). Nhưng buồng đệm gắn ở CỬA, nên tự gọi thì không đi qua nó; checked exception mặc định vẫn commit; readOnly âm thầm nuốt thay đổi.

Spring 08/07/2026 7 phút

LazyInitializationException là tấm phiếu chỉ đổi được khi quầy chưa đóng — và vì sao OSIV giấu nó đi là một món nợ

Quan hệ lazy như tấm phiếu chỉ đổi được tại quầy đang mở (session); giao dịch đóng là quầy đóng, phiếu thành vô giá trị. OSIV giữ quầy mở cả buổi để che lỗi — đổi lại N+1 lúc render và kết nối bị giữ. Cách sửa đúng.