0

我使用以下代码根据特定类别检索所有期刊文章:

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 了。

我已经尝试过,但到目前为止还没有运气。

有没有人有一些想法?

4

1 回答 1

1

采用assetEntryQuery.setClassName(JournalArticle.class.getName());

于 2013-11-11T12:16:02.547 回答