Galera quebrando a cabeça e não saio do lugar…
Tenho uma classe usuário e outra chamada grupo. Um usuário tem uma lista de grupos.
Eu preciso de uma query que receba uma lista de grupos e retorne apenas o usuário que tem exatamente aquela lista de grupos, inclusive na quantidade.
por exemplo, joe tem os grupos cto, ceo admin. suzy tem cto e ceo. Se eu passsar um lista com os grupos cto, ceo admin, tem que vir apenas o joe.
Cheguei até a mapear a classe composta pra ver se conseguia, mas falhou tudo miseravelmente.
A última coisa que tentei foi isso:
Query query = getSession().createQuery("from Usuario u where u.grupos in (:grupos)");
Usuario usuario = (Usuario) query.setParameterList("grupos", listaGrupos).uniqueResult();
return usuario;
Ajuda aí, galera. Não aguenta mais ver o junit ficar vermelho com esse test. 