Hibernate:订购一套

Mar*_*kis 13 java hibernate criteria

我有一个有一套书的人.在特定情况下,具有有序或有序集合是没有意义的.

现在说我有一个搜索页面,其中有一个表格显示了Person和Book的连接.我希望能够通过Person和Book中的字段对结果进行排序,然后从Hibernate获取List,并迭代它.

因为集合是一个集合,所以书籍的排序已经消失(Hibernate的PersistentSet包装了一个HashSet of Books,这是没有订购的).

因此,通过这种方法,我无法通过Book字段排序结果.

如果我将集合从Set更改为List,则我的模型在语义上是不正确的.保持模型中的顺序没有意义.

有没有办法保持书籍的顺序?也许PersistentSet有一种方法可以包装一个LinkedHashSet(有序),其中的顺序是由我的搜索条件定义的?

干杯!

mat*_*t b 7

Hibernate支持将集合映射为SortedSet.在你的映射中,你基本上只需要指定一个order-by子句.请参阅参考手册中的本章.

  • 指示的 URL 同时已更改,这是更新的 URL:http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html_single/#collections-sorted (2认同)