2010-10-29 35 views
6

Tôi tự hỏi nếu điều này là có thể với bất kỳ phiên bản Nhibernate nào.Nhận ID cho một đối tượng nhiều người lười biếng với quyền truy cập NO db

Tôi có lớp A với thuộc tính lớp B được kết nối bằng mối quan hệ nhiều người một. Tôi muốn nhận được A.B.Id mà không đi đến cơ sở dữ liệu (ý tôi là, mà không nhận được toàn bộ thực thể B). Điều này có khả thi không?

Cảm ơn!

Trả lời

7

Chỉ cần làm điều đó! Hibernate đủ thông minh để không tải các đối tượng trừ khi bạn cần các thuộc tính khác của chúng, do đó, gọi A.getB().getId() không được dẫn đến tải sâu B (nó sẽ sử dụng id của B được lưu trữ trong A).

Đây là một trang web mà giải thích các khái niệm trong một chút chi tiết hơn: Getting the Id from Lazy Loaded Object Using Annotations in Hibernate

Hãy thử nó ra và xem cho chính mình.

+0

Tôi nghĩ rằng đây không phải là trường hợp có tính đến những gì tôi tìm thấy tìm kiếm này nhưng tôi đã thử nghiệm và nó hoạt động hoàn hảo. Bất ngờ tuyệt vời. Cảm ơn! –

Các vấn đề liên quan