Trong Hibernate Envers, tất cả các bộ sưu tập liên quan của một thực thể được nạp lazily, bất kể loại tìm nạp nào được đặt. Vì vậy, khi kiểm traquerying cho một thực thể có một bộ sưu tập của các thực thể khác (cả hai được kiểm toán, tất nhiên), bộ sưu tập là SetProxy
lúc đầu (có thể được nhìn thấy khi gỡ lỗi).Hibernate Envers: Khởi tạo Envers Proxies
Vì vậy, làm cách nào để khởi tạo proxy đó? Sử dụng Hibernate.initialize()
không có hiệu lực (Tôi nghi ngờ vì Hibernate và Envers đang sử dụng các đối tượng proxy khác nhau). Tôi biết tôi có thể khởi tạo các thiết lập bằng cách lặp qua các mục của nó, nhưng đó không phải là một lựa chọn cho tôi bởi vì tôi có nhiều bộ sưu tập trong một thực thể và chưa kể đến các vấn đề bảo trì.
Tôi cần khởi tạo chúng một cách háo hức vì tôi đang truy cập bộ sưu tập vào một thời điểm sau đó khi phiên Hibernate đã bị đóng (chuyển đổi đối tượng miền thành dtos).
Tôi đang sử dụng Hibernate 3.5.6.
Tôi không thể làm việc này! Envers dường như bỏ qua kế hoạch tìm nạp! Tôi có một số thực thể thiết lập để tìm nạp háo hức với chế độ tìm nạp SELECT (vì tôi biết chúng luôn ở trong bộ nhớ cache cấp 2 - chỉ đọc và vĩnh cửu).Tôi nhận được lỗi khởi tạo lười biếng khi kết xuất JSP. SƠN TRONG BẠN-BIẾT-GÌ. : (Grrr! – les2