#JPA
8 bài viết.
Batch insert không batch, chậm gấp 10 - và tôi đã bật đúng cờ
Bật đủ mọi cờ batch mà Hibernate vẫn insert từng dòng, vì chiến lược sinh id đã quyết định xong trước khi cờ của bạn kịp có ý nghĩa.
MultipleBagFetchException - cái chuông báo cháy mà ai cũng chỉ lo tắt chuông
Hibernate ném exception không phải để làm khó bạn mà để chặn một tích Descartes. Đổi List sang Set là tắt chuông chứ không phải chữa cháy.
N+1: app chậm dần đều mà không một dòng lỗi
Một trăm linh một câu SELECT cho hai mươi đơn hàng, và không một dòng lỗi nào để bạn lần theo.
Set cả hai chiều mà FK trong DB vẫn null
Java có hai field, DB chỉ có một cột. Chỉ owning side cầm bút ký, bên mappedBy chỉ là tấm gương, và cuốn sổ không bao giờ nhìn gương.
Save entity xong, tìm trong HashSet không thấy nó đâu
size() bằng 1, iterate thì nhìn thấy nó, mà contains() trả false. Chuyện danh tính của entity khi id được cấp sau lúc nó vào Set.
LazyInitializationException: failed to lazily initialize a collection - no Session
Tắt open-in-view làm app nổ mười bảy chỗ, vì cả mười bảy chỗ đó lâu nay sống nhờ một cái filter mở sổ hộ bạn mà không ai biết.
"detached entity passed to persist" - người bị gạch tên xin quay lại văn phòng
Vì sao một entity từng được quản lý lại thành tội đồ ở request sau, và merge thật ra làm gì với nó.
Tôi không gọi save() mà DB vẫn UPDATE
Có một cuốn sổ đang theo dõi bạn kể cả khi bạn không gọi save. Chuyện dirty checking và thời điểm flush của persistence context.