opa
tenho o seguinte trecho de código
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="cod_telefone")
private TelefoneBean residencial;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="cod_telefone")
private TelefoneBean comercial;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="cod_telefone")
private TelefoneBean celular;
como posso fazer a associacao no objeto de TelefoneBean???
obrigado
Gbzao
#2
edit: entendi errado a questão.
@OneToMany(fetch=FetchType.LAZY)
@JoinColumn(name=“cod_telefone”)
private List telefones;
tenho que usar a lista, não tem como daquele outro jeito?
tinha pensado na lista, mas achei que ficasse melhor se fosse definido o que era
Gbzao
#4
Da maneira que está projeto, você precisa recuperar sim com uma lista…
Depois na sua camada de visão você pode separar qual é celular, fixo, ou fax
através de algum atributo especificado no TelefoneBean
fiz assim
na classe TelefoneBean
@OneToMany(mappedBy="telefones", fetch=FetchType.LAZY)
@JoinColumn(name="cod_cliente")
private List<ClienteBean> clientes;
e na ClienteBean
@OneToMany(mappedBy="clientes", fetch=FetchType.LAZY)
@JoinColumn(name="cod_telefone")
private List<ClienteBean> telefones;
esta correto?
Gbzao
#6
Se em uma classe é OneToMany, logo na outra é ManyToOne
Você não precisa mapear em ambas, a não ser que queira que o
relacionamento seja bidirecional…
Recomendo que leia a documentação:
http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/
tinha feito errado, o correto é assim
na tabela de telefone
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="cod_cliente")
private ClienteBean cliente;
e na ClienteBean
@OneToMany(mappedBy="cliente", fetch=FetchType.LAZY)
@JoinColumn(name="cod_telefone")
private List<ClienteBean> telefones;