Galera, estou tentando executar a seguinte string no Hibernate:
String sql = " SELECT new Laudo(lau.numero, lau.solicitacao.numero, lau.dataLaudo, " +
" laudo.data , natureza.descricao, executante.usuario.nome ) " +
" FROM " +
" (select max(historico.data) as dataAcao, laudo.numero as numero, historico.tipoAcao FROM Laudo laudo " +
" left join laudo.HistoricoLaudo as historico " +
" WHERE " +
" laudo.numero = historico.laudo " +
" and historico.tipoAcao = " + HistoricoLaudo.REDISTRIBUICAO + //HistoricoLaudo as hist) " +
" group by laudo.numero, historico.tipoAcao " +
" order by laudo.numero ) as laudo " +
" left join Laudo as lau " +
" left join lau.executantes as executante " +
" left join lau.coordenadoria as coordenadoria " +
" left join lau.natureza as natureza " +
" WHERE " +
" lau.numero = laudo.numero " +
" and historico.tipoAcao = " + HistoricoLaudo.REDISTRIBUICAO +
" and executante.tipo = :tipoPerito1 " +
" and executante.suspenso = :flagSuspenso " +
" and lau.tipoStatus = :tpoStatusLaudo " +
" and coordenadoria.codigo = :codgCoordenadoria " +
" order by lau.numero ";
Session session = Database.currentSession();
Query query = session.createQuery(sql);
query.setCharacter("tipoPerito1", UsuarioLaudo.PERITO1);
query.setCharacter("flagSuspenso", 'N');
query.setInteger("tpoStatusLaudo", tpoStatusLaudo);
query.setInteger("codgCoordenadoria", codgCoordenadoria);
query.setCacheable(false);
try {
Collection laudos = query.list();
if (!laudos.isEmpty()) {
return laudos;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
throw new Exception(MsgErro.BUSCA);
} finally {
Database.closeSession();
}
E obtenho o seguinte erro : "in expected: select "
Alguém aqui na lista tem alguma experiência com uso de subquerys no Hibernate ?
Qualquer dica será bem vinda.
Valeu.
Carlos