0

是否可以在不使用接口、不使用注释的Set情况下使用休眠在 sql 中对集合进行排序- 只需使用条件的 addOrder。SortedSet@OrderBy

我已经尝试过了,它添加了 order by 子句,但集合没有排序。

我使用休眠 3.4。

4

2 回答 2

1

即使集合映射支持排序依据,NHibernate 集合也没有“顺序”。请参阅 Ayende 的解释

请注意,[order-by] 不适用于泛型集合,并且通常,您不想依赖这些排序属性,而是希望使用所选集合的自然属性。根据定义,集合是唯一元素的无序集合。

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

于 2012-08-31T13:14:22.267 回答
0

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

问候,

于 2012-08-31T13:17:19.480 回答