0
我正在使用以下查詢來檢索以下結果。休眠組按名稱結果然後獲取最新日期
List<TranslationStyleSheet> results = this.session.createCriteria(TranslationStyleSheet.class).list();
File_Name Create_Date TimeStamp
PDF Version | 10/1/2012
PDF Version | 10/2/2012
PDF Version | 10/10/2012
TXT Version | 9/2/2012
DOC Version | 9/31/2012
DOC Version | 10/5/2012
從那裏我只需要返回最新的文件名,不包括舊的結果。
例如
File_Name Create_Date TimeStamp
PDF Version | 10/10/2012
TXT Version | 9/2/2012
DOC Version | 10/5/2012
我嘗試下面的代碼都沒有成功。
List<TranslationStyleSheet> results = this.session.createCriteria(TranslationStyleSheet.class)
.setProjection(Projections.projectionList()
.add(Projections.groupProperty("fileName"))
.add(Projections.max("createDate")))
.list();
有沒有人知道如何做到這一點?我首先得到一個異常,說[Ljava.lang.Object;不能轉換爲org.mycompany.test.entities.TranslationStyleSheet
當我迭代結果時,我只得到一個回報。
UPDATE
我能得到過濾與下面的查詢正常工作,但是我不知道我怎麼會返回一個TranslationStyleSheet OBJ而不僅僅是件吧。
查詢
List results = this.session.createCriteria(TranslationStyleSheet.class)
.setProjection(Projections.projectionList()
.add(Projections.groupProperty("fileName"))
.add(Projections.max("createDate")))
.list();
List<Object[]> objs = results;
for (Object[] obj : objs) {
System.out.println(obj[0] + " " + obj[1]);
}
我不知道怎麼會解決我的問題。如果我迭代列表,我只能得到它返回一個結果。我似乎無法將結果投射到我的TranslationStyleSheet對象。 –