OneToMany - Pk sendo FK

4 respostas
J

Olá todos,

Tenho um relacionamento 1-N entre clientes e telefones, estou tentando passar a chave primária de clientes como sendo chave estrangeira em telefones (até ai tudo bem) só que quero passar essa chave estrangeira como primária em telefones.

Cliente: cli_id,cli_nome
Telefone: tel_id, tel_numero (tel_id é a chave primaria, formada pela chave estrangeira vinda de cliente)

Atualmente estou assim:

@Entity  
@Table(name="cliente")
public class Cliente implements Serializable {
	
	@Id  
	@Column(name="cli_id", nullable=false)  
	@GeneratedValue(strategy=GenerationType.AUTO) 
	private long cli_id;
	private String cli_nome;

	@OneToMany(mappedBy = "cliente", fetch = FetchType.LAZY, cascade=CascadeType.ALL)
	private List<Telefone> telefone;

	// getters and setters, eis um diferencial no setTelefone para salvar a lista
	public void setTelefone(List<Telefone> telefone) {
		this.telefone = telefone;
		for(Telefone tel: telefone)  
			tel.setCliente(this);  
	}
@Entity  
@Table(name="telefone")
public class Telefone implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id  
	@Column(name="tel_id", nullable=false)  
	@GeneratedValue(strategy=GenerationType.AUTO) 
	private int tel_id;
	private int tel_numero;

	@ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.ALL)  
	@JoinColumn(name="cli_id")  
	private Cliente cliente;

	// getters and setters

Eu realmente não sei como faz, se alguem puder me dar uma ajuda.

Att.
JohnMe

4 Respostas

RobsonFagundes

ja tentou
http://www.hibernate.org/hib_docs/annotations/reference/en/html/
t+

J

… já … e nada, voce ja leu lá como está lindo a parte da composite pk ?

P

da uma olhada em

http://code.google.com/p/exemplos/w/list

J

Muito obrigado,

eu já havia conseguido resolver aqui,

o link indicado será de grande ajuda.

Criado 1 de dezembro de 2008
Ultima resposta 2 de dez. de 2008
Respostas 4
Participantes 3