如何在hibernate中使用@IndexColumn注释对列表进行排序?

时间:2016-08-31 02:57:53

标签: java hibernate

如何使用@IndexColumn注释

对arrayList进行排序

1 个答案:

答案 0 :(得分:0)

你不能使用@indexColumn在hibernate中对arrayList进行排序,但可以使用@OrderBy或@Sort(不适用于列表或arraylist)。

使用@OrderBy,你可以在下面做,其中name应该是你的一个实体属性

请记住,使用javax.persistence.OrderBy允许我们通过对象属性指定集合的​​顺序,同时org.hibernate.annotations.OrderBy命令直接追加SQL(而不是HQL)片段的集合子句。

@OrderBy("name")
 private List<Officer> officers = new ArrayList<Officer>();

如果您需要自定义排序,则使用set或sorted set而不是list,并使用sort annotation,如下所示。这里TimeComparator是你的自定义比较器类

@Sort(type=SortType.COMPARATOR, comparator=TimeComparator.class)