如何在 Liferay 7.2 中使用 DynamicQuery 查询最新版本的 JournalArticle
How to query last version of JournalArticle with DynamicQuery in Liferay 7.2
我的代码中有以下查询:
DynamicQuery journalArticleDynamicQuery = JournalArticleLocalServiceUtil.dynamicQuery();
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName("DDMStructureKey").eq("MY_STRUCTURE"));
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName(Field.GROUP_ID).eq(groupId));
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName(Field.FOLDER_ID).eq(folderId));
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName(Field.STATUS).eq(0));
journalArticleDynamicQuery.addOrder(OrderFactoryUtil.desc(Field.DISPLAY_DATE));
JournalArticleLocalServiceUtil.dynamicQuery(journalArticleDynamicQuery, 0, 30)
但这将返回 JournalArticle 的所有版本。我的问题是:如何使用之前的查询只查询最新版本的 JournalArticle?
我已经在 Liferay Foruns 中发布了这个,但我还没有收到任何回复。
我发现如果您使用 "search" 方法并将 "version" 参数作为 null 传递,您只会获得最新版本的 JournalArticle:
List<JournalArticle> journalArticles = JournalArticleLocalServiceUtil.search(
themeDisplay.getCompanyId(),
themeDisplay.getScopeGroupId(),
folderIds,
JournalArticleConstants.CLASSNAME_ID_DEFAULT,
null,
null,
null,
null,
null,
"MY_STRUCTURE",
null,
myDate,
null,
0,
null,
true,
startIndex,
endIndex,
OrderByComparatorFactoryUtil.create("JournalArticle", Field.DISPLAY_DATE, false)
);
我的代码中有以下查询:
DynamicQuery journalArticleDynamicQuery = JournalArticleLocalServiceUtil.dynamicQuery();
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName("DDMStructureKey").eq("MY_STRUCTURE"));
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName(Field.GROUP_ID).eq(groupId));
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName(Field.FOLDER_ID).eq(folderId));
journalArticleDynamicQuery.add(PropertyFactoryUtil.forName(Field.STATUS).eq(0));
journalArticleDynamicQuery.addOrder(OrderFactoryUtil.desc(Field.DISPLAY_DATE));
JournalArticleLocalServiceUtil.dynamicQuery(journalArticleDynamicQuery, 0, 30)
但这将返回 JournalArticle 的所有版本。我的问题是:如何使用之前的查询只查询最新版本的 JournalArticle?
我已经在 Liferay Foruns 中发布了这个,但我还没有收到任何回复。
我发现如果您使用 "search" 方法并将 "version" 参数作为 null 传递,您只会获得最新版本的 JournalArticle:
List<JournalArticle> journalArticles = JournalArticleLocalServiceUtil.search(
themeDisplay.getCompanyId(),
themeDisplay.getScopeGroupId(),
folderIds,
JournalArticleConstants.CLASSNAME_ID_DEFAULT,
null,
null,
null,
null,
null,
"MY_STRUCTURE",
null,
myDate,
null,
0,
null,
true,
startIndex,
endIndex,
OrderByComparatorFactoryUtil.create("JournalArticle", Field.DISPLAY_DATE, false)
);