Tôi có một Người có một nhóm Sách. Nó không có ý nghĩa trong trường hợp cụ thể để có một bộ sưu tập được sắp xếp hoặc sắp xếp.Hibernate: đặt hàng một Bộ
Giả sử bây giờ tôi có một trang tìm kiếm với một bảng hiển thị sự tham gia của Person and Book. Tôi muốn để có thể sắp xếp các kết quả theo các lĩnh vực từ cả hai người và cuốn sách, và sau đó nhận được một danh sách từ Hibernate, và lặp qua nó.
Vì bộ sưu tập là Tập hợp, thứ tự của Sách đã biến mất (PersistentSet of Hibernate kết thúc tốt đẹp một HashSet of Books, không được đặt hàng).
Vì vậy, với cách tiếp cận này, tôi không thể có kết quả cũng được sắp xếp theo các trường Sách.
Nếu tôi thay đổi bộ sưu tập từ Đặt thành Danh sách, mô hình của tôi không chính xác về mặt ngữ nghĩa. Không có ý nghĩa gì trong việc giữ trật tự trong mô hình.
Có cách tiếp cận nào để giữ trật tự Sách không? Có lẽ có một cách để PersistentSet bọc một LinkedHashSet (được sắp xếp), trong đó thứ tự được xác định bởi tiêu chí tìm kiếm của tôi?
Chúc mừng!
Cảm ơn phản hồi (+1). Vâng, tôi đã thấy điều đó. Nhưng trong ví dụ họ đã cố định rằng thứ tự nằm trên một trường nhất định. Tôi muốn (các) trường đó được đặt thông qua API tiêu chí, tùy thuộc vào những gì người dùng đã nhấp vào trong giao diện người dùng. –
Bạn cũng có thể chỉ định thứ tự cho kết quả trong truy vấn Tiêu chí, tách biệt với bất kỳ điều gì bạn chỉ định trong ánh xạ. http://docs.jboss.org/hibernate/stable/core/reference/en/html/querycriteria.html#querycriteria-ordering –
Có thể, nhưng thứ tự không may trong bản đồ (hoặc @OrderBy) được ưu tiên , khiến cho việc đặt hàng được đặt ra bởi Tiêu chí vô dụng. Hoặc ít nhất, nó xuất hiện sau khi sắp xếp thứ tự của bản đồ. –