Ola.
Meu problema é o seguinte: tenho uma classe q possui referencia para ela mesma:
@Entity
public class Usuario {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column
private int id;
@Column(length=80)
private String nome;
@Column(length=20)
private String login;
@Column(length=20)
private String senha;
@ManyToMany(fetch=FetchType.EAGER,targetEntity=Usuario.class,cascade={CascadeType.ALL})
private List<Usuario> contatos;
}
e preciso selecionar os usuarios q tem um usuario especifico como contato.
Explicando melhor: O hibernate mapeou e fez o banco certinho da maneira como ta acima, ele criou uma tabela USUARIO e uma USUARIO_USUARIO q possui o ID do usuario1 e o ID do usuario2, simulando os contatos. Se o usuario1 tem o usuario2 adicionado, entao na tabela vai ter o registro USUARIO_USUARIO(1, 2), nesse caso o usuario2 nao tem o usuario1 como contato, apenas o usuario1 possui o usuario2. Preciso uma hql q traga pra mim todos os Usuarios q possuem, por exemplo, o usuario2 adicionado, ali no exemplo o select me traria apenas o usuario1.
Ja tentei d varias formas: “from Usuario where :usuario = contatos”, “from Usuario where :usuario in contatos”, “from Usuario where :usuario.id = contatos.id”; mas nao consigo fazer funcionar.
Se eu fizer o select: “select contatos from Usuario” ele traz certinho os contatos desse usuario, mas nao consigo trazer os contatos q TEM esse usuario.
Se nao fui bem claro, peçam maiores explicaçoes.
Desde ja agradeco.
