[英]Hibernate Criteria for Group By with where where clause
我想对带有 where 子句的 group by 子句使用休眠条件。
就像我有这样的 sql:
“选择 max(id) from Employee where age>25 group by trunc(created_date) ”
问题是我的 created_date 列也有时间,但我想在截断日期使用 group by,不包括时间。
如何在使用标准组 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 完成
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.