Boa Tarde.
Sou iniciante em java e estou com uma duvida em um relacionamento um para muitos no hibernate.Consigo salvar e deletar os dados no banco mas na hora de vizualizar to enrolado não sei como fazer.
Se alguem puder me ajudar eu agradeço.
Abaixo segue o codigo.
É uma agenda de teste onde uma pessoa tem varios telefones
Pessoa
[code]public class Pessoa implements java.io.Serializable {
private Integer id;
private String endereco;
private String nome;
private Set telefone;
public Pessoa() {
}
public Set getTelefone() {
return telefone;
}
public void setTelefone(Set telefone) {
this.telefone = telefone;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
[/code]
Telefone
[code]package entidades;
public class Telefone {
private Integer id;
private String numero;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
[quote=dudu_sps]se o nome da sua classe é Telefone
porque voce colocou
private Set telefone;
o certo seria
private Telefone telefone;
[/quote]
Desse modo eu não estaria indicando que é muitos para um ?
eu queria fazer de um para muitos,posso fazer dessa forma que vc indicou?Assim fiz uma vez e funcionou, não vai me dar problema se for usar em um relacionamento com varias tabela?
Obrigado
Então na sua classe Telefone você teria um atributo assim…
@ManyToOne
private Pessoa pessoa;
Com seus get and setters…
e na sua classe Pessoa você teria um atributo assim…
@OneToMany(mappedBy="AQUI VOCE COLOCA O NOME DO ATRIBUTO QUE VOCÊ DETERMINOU NA TABELA TELEFONE(NESSE CASO EU DETERMINEI COMO pessoa)")
List<Tetelefone> telefones = new ArrayList<Telefone>();
Abaixo de cada anotação @ManyToOne, é necessário a inserção da anotação @JoinColumn.
Onde nesta anotação você determina qual vai ser o join que as tabelas deveram efetuar quando você quiser retornar os dados e visualizalos…