Ajuda na criteria - ManyToMany com atributos

Tenho uma class PROCESSO que se relaciona atraves desse relacionamento com PESSOA;

[code]
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = “PARTE_RE”, schema = “SYSJURI”,
joinColumns =
@JoinColumn(name = “PROCESSO_ID”),
inverseJoinColumns =
@JoinColumn(name = “PESSOA_ID”))
private Collection parteRe = new ArrayList();

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "PARTE_AUTORA", schema = "SYSJURI",
joinColumns =
@JoinColumn(name = "PROCESSO_ID"),
inverseJoinColumns =
@JoinColumn(name = "PESSOA_ID"))
private Collection<Pessoa> parteAutora= new ArrayList<Pessoa>();[/code]

o que eu preciso é faze uma criteria que me traga apenas PROCESSOS que contenham a PESSOA que eu passar, tipo :

Criteria c = session.createCriteria(Processo.class); c.add(Restrictions.in("parteAutora" , obj));

Me traga todos os processos que contenham essa pessoa como autora.

att.

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!

Flw! :thumbup:

Criteria c = session.createCriteria(Processo.class);   
c.add(Restrictions.eq("parteAutora", pessoa);

Abs…

[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:

Flw! :thumbup:

[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:

Flw! :thumbup: [/quote]

Eu sempre uso assim, e sim Funciona :smiley:

qualquer erro posta ai :smiley:

É que eu fiquei na dúvida, dessa forma, o que ele considera para determinar se a pessoa está na lista?

Vlw! Flw! :thumbup:

Funcionou no seu caso ?

Eu num tenho onde testar agora, por isso perguntei, quero matar a curiosidade! :smiley:

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.

dxos nao havia lido seu ultimo post
funcionou perfeitamente

         Criteria c = session.createCriteria(Processo.class);
         Criteria criteriaPessoa = c.createCriteria("parteRe", "pre");
         criteriaPessoa.add(Restrictions.eq("pre.pessoaId", obj.getPessoaId()));

muito obrigado!