Criteria c = session.createCriteria(Processo.class);
c.createAlias("parteAutora", "pa");
c.add(Restrictions.eq("pa.id" , pessoa.getId()));Fiz de cabeça, testa ae e vê se resolve!
[quote=dxos]
Criteria c = session.createCriteria(Processo.class);
c.add(Restrictions.eq("parteAutora", pessoa);
Abs…[/quote]
parteAutora é um ArrayList de Pessoas, tem certeza de que isso funciona? :hunf:
[quote=von.juliano][quote=dxos]
Criteria c = session.createCriteria(Processo.class);
c.add(Restrictions.eq("parteAutora", pessoa);
Abs…[/quote]
parteAutora é um ArrayList de Pessoas, tem certeza de que isso funciona? :hunf:
Entom adiantando…
Qualquer coisa vc pode usar assim :
// aqui você cria um novo criteria para a classe pessoa
Criteria criteriaPessoa = c.createCriteria("pessoa");
//a comparação necessaria
criteriaPessoa.add(Restrictions.eq("codigo", pessoa.getCod()));
entao, isso realmente funciona sim em casos de relacionamento manytomany sem atributos, nao sei se influencia mas no meu caso tenho uma classe mapeada com @EmbeddedId,
executando os exemplos passados, dá erro de sintaxe no sql gerado;
org.hibernate.exception.GenericJDBCException: could not execute query
Qundao precisei trazer uma parteRe (Pessoa) a criteria ficou dessa forma :
session = session.getSessionFactory().openSession();
session.beginTransaction();
Criteria c = session.createCriteria(ParteRe.class);
c.add(Restrictions.eq("chaveComposta.processo", p));
re = c.list();
aqui consigo todas as pessoas que estao na parte Re do meu processo E o processo,
Porem estou numa tela de consulta onde se conseguisse filtrar diretamente pelo processo, alem de facilitar vai diminuir alguns acessos ao banco!
vlww por enquanto!
att.