У меня есть таблица с датой платежа (столбец отметки времени) и идентификатором
Я использую следующий оператор в SQL-разработчике, чтобы получить количество записей за дату (игнорируя часть времени столбца 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');
Однако, когда я выполняю свою логику из своего весеннего 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);
Любые указатели помогут.