Java 按名称休眠组结果,然后获取最新日期
我使用以下查询检索以下结果Java 按名称休眠组结果,然后获取最新日期,java,mysql,hibernate,Java,Mysql,Hibernate,我使用以下查询检索以下结果 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/
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
我尝试了以下代码,但没有成功
List<TranslationStyleSheet> results = this.session.createCriteria(TranslationStyleSheet.class)
.setProjection(Projections.projectionList()
.add(Projections.groupProperty("fileName"))
.add(Projections.max("createDate")))
.list();
List results=this.session.createCriteria(TranslationStyleSheet.class)
.setProjection(Projections.projectionList()项目)
.add(Projections.groupProperty(“文件名”))
.add(projects.max(“createDate”))
.list();
有人知道如何做到这一点吗?我首先得到一个异常,该异常表示[Ljava.lang.Object;无法转换为org.mycompany.test.entities.TranslationStyleSheet
当我迭代结果时,我只得到一个结果
更新
我能够让过滤在以下查询中正常工作,但是我不确定如何返回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]);
}
List results=this.session.createCriteria(TranslationStyleSheet.class)
.setProjection(Projections.projectionList()项目)
.add(Projections.groupProperty(“文件名”))
.add(projects.max(“createDate”))
.list();
列出objs=结果;
对于(对象[]对象:对象JS){
System.out.println(obj[0]+“”+obj[1]);
}
执行orderBy不会解决您的问题吗
我不确定这将如何解决我的问题。如果我迭代列表,我只能让它返回一个结果。我似乎无法将结果强制转换到我的TranslationStyleSheet对象。
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]);
}
addOrder(Order.desc("date"))