2013-11-09 40 views
0

由於編輯Web內容時,liferay會自動創建文章的新版本,因此我想獲取特定文章的最新版本。我使用的動態查詢,如下所示:在liferay 6.1中對DynamicQuery使用Projection時出現異常?

DynamicQuery query = DynamicQueryFactoryUtil.forClass(JournalArticle.class, PortletClassLoaderUtil.getClassLoader()); 

query.setProjection(ProjectionFactoryUtil.max("version")); 
List<JournalArticle> jList = (List<JournalArticle>)JournalArticleLocalServiceUtil.dynamicQuery(query); 

我搜索谷歌和通知ProjectionFactoryUtil.max("version")使用了很多。但在我的情況下,拋出異常:

"java.lang.Double cannot be cast to com.liferay.portlet.journal.model.JournalArticle" 

我錯過了什麼嗎?

回答

0

在DynamicQuery中使用ProjectionFactoryUtil.max("version")將返回double值,這將是字段'version'的最大值。您正在嘗試將雙重類型值賦予JournalArticle,這就是爲什麼面臨此異常。

HTH 從手機發送。

+0

我明白了。我誤解了上面的查詢會返回一個Journal Article Objects列表。謝謝。 – ipkiss

0

至於獲取期刊文章最新版本的意圖:JournalArticleLocalServiceUtil有一個API方法fetchLatestArticle(帶有幾個不同的參數集,例如偏好發表的文章而非非發佈的文章)。 在Liferay 5.x中,它被稱爲getLatestArticle

相關問題