使用JPA(由Hibernate提供)和H2我试图这样做。
String query = "select NEW domain.Activity(count(*), cast (truncate(startDateTime) as timestamp),type) from Event group by 2,3 ";
TypedQuery<Activity> jQuery = em.createQuery(query, Activity.class);
问题是H2赢了,不允许我按照&#34; 2&#34;因为它是一个函数的结果(你可以用其他语言做到这一点,所以它不是那么牵强)
我能找到的唯一方法是更换&#39; 2&#39;使用Alias Hibernate生成(这似乎是一个非常糟糕的主意)我不能给列我自己的别名,因为Hibernate忽略了这个,所以有没有使用H2的解决方案?
为清楚起见:
String query = "select NEW domain.Activity(count(*), cast (truncate(startDateTime) as timestamp),type) from Event group by col_1_0_,3 ";
TypedQuery<Activity> jQuery = em.createQuery(query, Activity.class);
是否按预期工作,因为&#39; col_1_0 _&#39;是别名hibernate正在应用于truncate列。