我遇到了JPA Criteria Query
的问题,尤其是别名问题。
这是我的一段代码:
Root<Evento> root = query.from(Evento.class);
Join<Evento, DataEvento> dataNode = root.join(Evento_.date);
query.where(pred).multiselect(dataNode.get(DataEvento_.evento), builder.least(dataNode.get(DataEvento_.dataDa)).alias("minData")).groupBy(dataNode.get(DataEvento_.eventoId));
return query.orderBy(builder.desc(dataNode.get(DataEvento_.dataDa).get("minData")));
我想执行此查询:
select MIN(de.data_da) as minData, de.id_evento from exlt_data_evento de inner join exlt_evento e on de.id_evento = e.id group by de.id_evento order by minData
结果是以下错误:
java.lang.IllegalStateException: Illegal attempt to dereference path source [null.dataDa] of basic type
按顺序,我需要获得“minData”,这是在select条件中创建的别名。