由于在官方API中没有找到类似的方式,可以使用Liferay的动态query进行查询。
示例:
//OrderByComparator obc = new ArticleModifiedDateComparator(false);
//articleList = JournalArticleLocalServiceUtil.getArticles(groupId, folderId, start, end, obc);
DynamicQuery maxVersionArticle = DynamicQueryFactoryUtil
.forClass(JournalArticle.class, "maxVersionArticle", PortalClassLoaderUtil.getClassLoader())
.add(PropertyFactoryUtil.forName("articleId").eqProperty("articleByType.articleId"))
.setProjection(ProjectionFactoryUtil.max("id"));
// articleByType : Query will find the articles by its type and
// appended the maxVersionArticle query so it will track only latest versions
DynamicQuery articleByType = DynamicQueryFactoryUtil
.forClass(JournalArticle.class, "articleByType", PortalClassLoaderUtil.getClassLoader())
.add(PropertyFactoryUtil.forName("id").eq(maxVersionArticle))
.add(PropertyFactoryUtil.forName("folderId").eq(folderId))
.add(PropertyFactoryUtil.forName("groupId").eq(groupId))
.addOrder(OrderFactoryUtil.desc("modifiedDate"));