Alguém poderia me falar como fazer um criteria desse query.
OU me indicar um material muito bom sobre join e subquery com criteria
List<Solicitacao> lista = session.createQuery("select s " +
" from Solicitacao as s " +
" inner join FETCH s.tramitacao as t " +
" inner join FETCH t.tipoestado as te " +
" where t.codigo = (select max(codigo) from Tramitacao as t2 where t2.solicitacao = s.codigo) and te.estadofinal=false and data_final > current_date").list();