postgres ネイティブ クエリを移行して、代わりに criteriabuilder を使用しようとしています。
私が達成したいのは: date_trunc('day',t.starttime) AS day, count(*) AS no_of_users from login_table t group by 1 order by 1
これまでのところ、グループを 1 オーダーずつ構築する方法がわかりません。
これは私が得た距離です:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<RequestPerWeek> cq = cb.createQuery(RequestPerWeek.class);
Root<TLogin> from = cq.from(TLogin.class);
String date = "week";
Expression<Calendar> dateTrunc=cb.function("date_trunc",Calendar.class,cb.literal(date), from.get(TLogin_.starttime).as(Calendar.class));
cq.select(cb.construct(RequestPerWeek.class,cb.count(from),dateTrunc));
私はいくつかの groupby の代替案を試しましたが、私が望むように機能するものはありません:-|
よろしくお願いします。