Pessoal, tenho as seguintes classes abaixo.
public class Usuario {
private Integer id;
private Email email;
private String nome;
outros atributos
private List<Grupo> grupos;
// construtor para selecionar colunas especificas
public Usuario(Integer id, String email, String nome) {
this.id = id;
this.email = new Email(email);
this.nome = nome;
}
// relacionamento em que não faço ideia de como selecionar em uma consulta especifica
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "usuario_grupo",
joinColumns = @JoinColumn(name = "usuario_id"),
inverseJoinColumns = @JoinColumn(name = "grupo_id"))
public List<Grupo> getGrupos() {
return grupos;
}
public void setGrupos(List<Grupo> grupos) {
this.grupos = grupos;
}
}
public class Grupo {
private Integer id;
private String nome;
}
public class Email {
private Integer id;
private String email;
}
Para fazer uma query especifica de Usuario, trazendo alguns atributos “simples” e objetos de um relacionamento (Email) é tranquilo, crio o construtor conforme acima e faço a pesquisa:
Minha dúvida é: como fazer uma query especifica para trazer Grupos?
Se não fosse query especifica, seria simples, bastaria fazer o seguinte:
Só que assim irá trazer vários outros objetos do relacionamento, o que não seria o caso.
Alguém sabe o que fazer neste caso?