Как запросить последнюю версию JournalArticle с DynamicQuery в Liferay 7.2 - PullRequest
1 голос
/ 28 октября 2019

У меня есть следующий запрос в моем коде:

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 , но я пока не получил никакого ответа.

1 Ответ

0 голосов
/ 31 октября 2019

Я обнаружил, что если вы используете метод "search" и передаете параметр "version" как ноль, вы получаете только самые последние версии 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)
);
...