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