簡體   English   中英

帶有 where 子句的 Group By 的休眠條件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM