Tôi đã tạo một lớp mà trong đó tôi đã đặt một số trường của nó (các thực thể khác) được tải LAZY. Bây giờ tôi cần phải sử dụng đối tượng này sau khi nó đã được tách ra khỏi phiên, vì vậy tôi rõ ràng là cần phải chắc chắn rằng tất cả các lĩnh vực mà tôi cần được dân cư trước khi tách nó ra. Tôi đã cố gắng chỉ gọi getters cho những lĩnh vực lười biếng nhưng điều đó dường như không hoạt động. Bất cứ ai cũng có một ý tưởng làm thế nào để buộc các lĩnh vực này được nạp?Hibernate tải lười biếng trong các đối tượng tách rời
Trả lời
Hibernate.initialize(yourObject)
sẽ bắt buộc khởi tạo đối tượng/bộ sưu tập được truyền cho nó. Bạn cần một phiên hoạt động cho việc này.
Nếu thực thể được tách ra, bạn phải đính kèm lại đối tượng (sử dụng merge(..)
) vào một phiên hoạt động và sau đó khởi tạo nó.
+1 Bozho ......... –
'hợp nhất' chỉ dành cho một số trường hợp rất đặc biệt. Như một quy tắc của một ngón tay cái tôi muốn recomment 'cập nhật ' – pakore
@ pakore - tốt, sự khác biệt tôi nghĩ là' hợp nhất (..) 'có thể chèn một kỷ lục mới là tốt. Nhưng tôi quen với ngữ nghĩa JPA hơn, vì vậy nó có thể hơi khác một chút ở đây. – Bozho
Bạn có thể gắn lại nó vào phiên. Đây là cách bình thường.
session.update(yourObject); //This reattachs the object to the current session.
yourObject.someGetter(); //This will work now.
Tôi biết rằng bạn yêu cầu Hibernate nhưng EclipseLink có tính năng này để nó có thể là giá trị kiểm tra ra nếu bạn đang sử dụng JPA và không gắn với việc thực hiện nhất định. Bạn có thể gặp phải các sự cố khác khi di chuyển sang EclipseLink mặc dù ..
<prop key="hibernate.enable_lazy_load_no_trans">true</prop>
Bạn có thể thêm dòng này vào tệp cấu hình của mình, nó có thể lấy các đối tượng lười của bạn ngay cả khi tách ra, nhưng nên sử dụng phiên bản 4.1.7 vì có một số vấn đề rò rỉ kết nối với phiên bản trước đó.hãy xem here
- 1. Hibernate tải lười biếng không làm việc
- 2. deserialize tải lười biếng trong hibernate và jackson
- 3. Hibernate Query Language (HQL) - Truy vấn cho lười biếng/no-lười biếng tải
- 4. Có thể tải lười biếng cho một mối quan hệ không lười biếng trong Hibernate không?
- 5. Hibernate + PostgreSQL: Tải Lười Biếng với Ổ Khóa Độc Quyền
- 6. Các trang tải lười biếng trong UIScrollView
- 7. Các mẫu tải Lười biếng trong Meteor
- 8. PHP Tải các đối tượng lười biếng và tiêm phụ thuộc
- 9. Thư viện tải lười biếng?
- 10. Tải Lười biếng là gì?
- 11. Hình ảnh tải lười biếng trong UITableView
- 12. Tải hình ảnh lười biếng trong ListView
- 13. Tải trọng lười biếng trong node.js
- 14. LINQ to sql có tự động tải các đối tượng liên kết lười biếng không?
- 15. Entity Framework: ObjectContext.ExecuteStoreQuery tạo ra các đối tượng tách rời
- 16. Nối tiếp đối tượng Lười biếng, luồng với protobuf-net
- 17. Đánh giá lười biếng trong Ruby
- 18. Làm thế nào để lười biếng tải một bộ sưu tập nhiều-nhiều trong hibernate?
- 19. hình ảnh tải lười biếng và SEO
- 20. Tải nội dung WPF lười biếng
- 21. lười biếng các loại lặp trong Scala?
- 22. Tải phụ thuộc lười biếng với symfony DI
- 23. Cách tải Hibernate FetchProfile để tải các đối tượng con sâu trong cấu trúc phân cấp
- 24. Hibernate có thể xóa các bộ sưu tập mồ côi khi cập nhật một đối tượng tách rời không?
- 25. Hibernate tải một proxy lười biếng, nhưng tôi chỉ cần PK
- 26. Nhiều thùng chứa trong Tải trọng Lười biếng
- 27. hibernate getId đang tải đối tượng mặc dù nó là lười
- 28. Khởi tạo lười biếng trong .NET 4
- 29. EF 4 - Tải Lười Biếng Không Có Proxies
- 30. Django có thể tải các trường lười biếng trong một mô hình không?
bạn có chắc chắn phiên của mình đang mở khi gọi getters không? –
Phiên nếu chắc chắn mở khi tôi gọi getters –