[JPA] Mais de um elemento

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

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

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?

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;