带有where where子句的Group By的休眠条件



我想使用hibernate条件对带有where子句的group-by子句进行分组。

就像我有一个这样的sql:

"根据trunk(created_date(从年龄>25岁的员工组中选择max(id(">

问题是,我的created_date列也有时间,但我想在未分配的日期使用groupby,不包括时间。

如何在hibernate Projection中传递截断的日期,同时使用条件组BY.

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy");
String createDateInString = "26-FEB-20";
try {
Date createDate = formatter.parse(createDateInString);
} catch (ParseException e) {
e.printStackTrace();
}
List result = session.createCriteria(Employee.class)       
.add(Restrictions.ge("age",new Integer(25))) 
.add(Restrictions.eq("created_date", new java.sql.Timestamp(createDate.getTime())))
.setProjection(Projections.projectionList()
.add(Projections.groupProperty("id"))
.add(Projections.max("name"))
).list();

我认为在比较日期时可能会出错。否则groupBy可以使用Projections 完成

最新更新