是否可以Set在SQL中使用hibernate方式对集合进行排序,而无需使用SortedSet接口,不使用@OrderBy注释-仅使用条件的addOrder。
Set
SortedSet
@OrderBy
我试过了,它添加了order by子句,但是集合没有排序。
我使用hibernate3.4。
NHibernate Set没有“ order”,即使set映射支持order- by。请参阅Ayende的说明:
请注意,[order-by]不适用于通用集,并且一般来说,您不想依赖那些排序属性,而是要使用所选集合的自然属性。根据定义,集合是唯一元素的无序集合。
您可以将order by子句附加到基础SQL中,但是当NHibernate构建集合时,该顺序将丢失。当然,可以使用“有序”集或其他收集类型(包或清单)。