我使用以下代码根据特定类别检索所有期刊文章:
long catId = category.getCategoryId();
AssetEntryQuery assetEntryQuery = new AssetEntryQuery();
long[] anyCatIds = {catId};
assetEntryQuery.setAnyCategoryIds(anyCatIds);
// Line A
List<AssetEntry> assetEntryList = AssetEntryLocalServiceUtil.getEntries(assetEntryQuery);
for(AssetEntry ae : assetEntryList)
{
// Line B
JournalArticleResource journalArticleResourceObj = JournalArticleResourceLocalServiceUtil.getJournalArticleResource(ae.getClassPK());
JournalArticle journalArticleObj = JournalArticleLocalServiceUtil.getArticle(themeDisplay.getParentGroupId(), journalArticleResourceObj.getArticleId());
journalArticleList.add(journalArticleObj.getArticleId());
}
但是,由于AssetEntry
将获取所有条目,包括博客等,如果我添加使用相同类别的博客条目,上述代码将引发异常Line B
,因为博客条目没有JournalArticleResource
.
所以,我想知道是否可以只过滤 JournalArticle 类型将在 fetch Line A
,然后我不必再担心 Line B 了。
我已经尝试过,但到目前为止还没有运气。
有没有人有一些想法?