Bom dia a todos,
estou tentando fazer a seguinte query com criteria:
select m from Municipio m where m.id in (select max(m2.id) from Municipio m2 group by m2.codigo) order by m.codigo
Estou fazendo assim:
DetachedCriteria subQuery = DetachedCriteria.forClass(getEntityClass(), "m2");
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.property("m2.id"));
projectionList.add(Projections.property("m2.codigo"));
projectionList.add(Projections.max("m2.id"));
projectionList.add(Projections.groupProperty("m2.codigo"));
subQuery.setProjection(projectionList);
criteria.add(Property.forName("id").in(subQuery));
Mas está dando o seguinte erro: Caused by: java.sql.SQLSyntaxErrorException: ORA-00913: valores demais
.
Alguém poderia ajudar?