spring jpa-时间戳列的groupby日期部分

时间:2019-06-02 22:40:15

标签: sql spring-data-jpa

我有一个带有付款日期(时间戳列)和ID的表

我在SQL Developer中使用以下语句获取每个日期的记录数(忽略timestamp列的时间部分)

select to_char(sellerpaym0_.PAYMENT_DATE_UTC, 'MM-DD-YY') as col_0_0_, count(sellerpaym0_.ID) as col_1_0_ 
  from PAYMENTS sellerpaym0_  
  group by to_char(sellerpaym0_.PAYMENT_DATE_UTC, 'MM-DD-YY');

但是,当我从spring jpa代码中执行逻辑时,会出现“不是GroupBy表达式)的异常。

Java代码:

 Expression<String> expr =
    builder.function("to_char", String.class,
 root.get(groupBy.getKey()), builder.literal("mm-dd-yyyy"));

CriteriaQuery mainQuery = builder.createQuery(getDomainClass());
mainQuery.groupBy(expr);

任何指针都会有所帮助。

0 个答案:

没有答案