Ola Galera alguem pode me ajudar com o criteria estou tentando fazer um subselect mas nao to sabendo como fazer.
abaixo irei posta o codigo do criteria e depois como eu gostaria que ficasse em sql.
[code]public Map<String, List> pesquisaLaudaCevs(List acompanhamentos) {
Session session = getSession();
Criteria criteria = null;
//Criteria subCriteria = null;
Map<String, List> map = new HashMap<String, List>();
for(Acompanhamento acomp : acompanhamentos) {
DetachedCriteria dc = DetachedCriteria.forClass(Acompanhamento.class);
dc.createAlias("cevsSolicitacaoIdentificacao", "cevsSolicitacaoIdentificacao");
dc.createAlias("cevsSolicitacaoIdentificacao.codigoCevs", "codigoCevs");
dc.setProjection(Projections.distinct(Projections.property("codigoCevs.codigoCevs")));
dc.add(Restrictions.like("cevsSolicitacaoIdentificacao.protocolo", acomp.getCevsSolicitacaoIdentificacao().getProtocolo()));
//map.put(acomp.getCevsSolicitacaoIdentificacao().getProtocolo(), (List<CevsCodigo>) criteria.list());
criteria = session.createCriteria(Acompanhamento.class);
criteria.createAlias("cevsSolicitacaoIdentificacao", "cevsSolicitacaoIdentificacao");
criteria.createAlias("cevsSolicitacaoEquipamento", "cevsSolicitacaoEquipamento");
criteria.createAlias("cevsSolicitacaoEquipamento.codigoCevs", "codigoCevs");
criteria.setProjection(Projections.distinct(Projections.property("codigoCevs.codigoCevs")));
criteria.add(Restrictions.like("cevsSolicitacaoIdentificacao.protocolo", acomp.getCevsSolicitacaoIdentificacao().getProtocolo()));
map.put(acomp.getCevsSolicitacaoIdentificacao().getProtocolo(), (List<CevsCodigo>) criteria.list());
}
return map;
}[/code]
select
distinct codigocevs3_.codigo_cevs as y0_, (select
distinct codigocevs2_.codigo_cevs as y0_
from
acompanhamento this_
inner join
cevs_solicit_identificacao cevssolici1_
on this_.cevs_solicit_identificacao_id=cevssolici1_.cevs_solicit_identificacao_id
inner join
cevs_codigo codigocevs2_
on cevssolici1_.cevs_codigo_id=codigocevs2_.cevs_codigo_id
where
cevssolici1_.protocolo like '008873/2009-N01')
from
acompanhamento this_
inner join
cevs_solicit_equipamento cevssolici2_
on this_.cevs_solicit_equipamento_id=cevssolici2_.cevs_solicit_equipamento_id
inner join
cevs_codigo codigocevs3_
on cevssolici2_.cevs_codigo_id=codigocevs3_.cevs_codigo_id
inner join
cevs_solicit_identificacao cevssolici1_
on this_.cevs_solicit_identificacao_id=cevssolici1_.cevs_solicit_identificacao_id
where
cevssolici1_.protocolo like '008873/2009-N01'
abs a Todos…