在sql中进行Hibernate排序

时间:2012-08-31 13:09:10

标签: hibernate jpa fluent-nhibernate jpa-2.0 hibernate-mapping

是否可以在不使用Set接口的情况下使用hibernate对s SortedSet集合进行排序,而不使用@OrderBy注释 - 只需使用条件的addOrder。

我已经尝试了它并且它添加了order by子句但是这个集合没有排序。

我使用hibernate 3.4。

2 个答案:

答案 0 :(得分:1)

即使set映射支持order-by,NHibernate Sets也没有“order”。见Ayende的explanation

  

请注意,[order-by]不适用于通用集,而且通常情况下,   您不想依赖那些订购属性,您想要使用   所选集合的自然属性。集合是,   定义,无序的一组独特元素。

您可以将order by子句附加到基础SQL,但是当NHibernate构建集合时,该顺序将丢失。当然,使用“有序”集或其他集合类型(包或列表)也可以。

答案 1 :(得分:0)

如果您将“设置”更改为“列表”,并且“列表”中不存在的方法将等效项设置为正确,我们将正常工作。

此致