[英]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.