java - 如何在 Liferay 7.2 中使用 DynamicQuery 查询 JournalArticle 的最新版本
问题描述
我的代码中有以下查询:
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上发布了这个,但我还没有得到任何回应。
解决方案
我发现如果您使用“搜索”方法并将“版本”参数传递为 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)
);
推荐阅读
- python - 在python 3中创建一个总单词数的字典
- android - 如何在相同的 x,y 值上管理多个标记视图
- php - SQL 语句中的 OR 运算符没有给出正确的结果
- python - 如何比较矩形并找到相似的?
- typescript - TypeScript overloads doesn't chose the expected one
- c - 使用递归扫描多个数字并计算扫描了多少偶数(在 c 中)
- c++ - 复制后 C++ 程序不需要管理员/UAC
- javascript - 使用 div 在图像顶部的位置的画布 drawImage
- python - 如何将 Python 中 openpyxl 创建的 Excel 工作表中的单元格设为“可格式化”?
- html - 横幅图像未在 Outlook 通知中正确呈现