Một danh sách, nếu không có cột chỉ mục được chỉ định, sẽ chỉ được xử lý như một túi bởi Hibernate (không có thứ tự cụ thể).
Một điểm khác biệt đáng chú ý trong việc xử lý Hibernate là bạn không thể tìm nạp hai danh sách khác nhau trong một truy vấn. Ví dụ: nếu bạn có một Person
thực thể có danh sách liên hệ và danh sách địa chỉ, bạn sẽ không thể sử dụng một truy vấn duy nhất để tải những người có tất cả liên hệ và tất cả địa chỉ của họ. Giải pháp trong trường hợp này là thực hiện hai truy vấn (tránh sản phẩm cacte) hoặc sử dụng Set
thay vì a List
cho ít nhất một trong các tập hợp.
Thường khó sử dụng Bộ với Hibernate khi bạn phải xác định equals
và hashCode
trên các thực thể và không có khóa chức năng bất biến trong thực thể.