我正在使用查找结构文章的方法:
List<JournalArticle> articles = JournalArticleLocalServiceUtil.getStructureArticles(groupId, "15566", 0, 10000, comparator);
比较器是类的实例:
public class OrderByEventsStartDate extends OrderByComparator{
public int compare(Object o1, Object o2){
System.out.println("comparator test");
return 1;
}
}
邮件永远不会被打印,结果也没有排序......请帮忙吗?
答案 0 :(得分:1)
结果未排序......
因为您总是返回1
。
现在要创建一个OrderByComparator
,你需要做更多的事情。
如果你看一下不同持久性方法使用的source code as to how the OrderByComparator
,你会有所了解。
另外,看看Liferay实施的一些比较器,可以了解您需要做什么:
ArticleTitleComparator
OrderByComparator
的超短教程public static final String ORDER_BY_ASC
- 指定要对结果进行排序的字段。以递增的方式。public static final String ORDER_BY_DESC
- 指定要对结果进行排序的字段。按降序排列。public static final String[] ORDER_BY_FIELDS
- 指定排序所需的不同字段(请参阅多个字段的UserFirstNameComparator
)。compare
方法
getOrderBy()
方法 - 请参阅ArticleTitleComparator
getOrderByFields()
方法 - 请参阅ArticleTitleComparator
isAscending()
和[{1}}方法所需的compare
方法来确定它是asc还是desc - 参考getOrderBy
永远不会打印消息
因为您尚未实现这些方法,所以它会忽略您传递的ArticleTitleComparator
。您可以查看正在使用的方法的源代码JournalArticleLocalServiceImpl#getStructureArticles
希望这有帮助。