Oi.
Tenho uma dúvida sobre como criar chaves estrangeiras com o hibernate. Eu já dei uma procurada no fórum e achei alguns códigos, mas eles não funcionaram. Então vou postar meu código aqui. Agradeço se vocês puderem me ajudar
Eu tenho uma classe Cliente com o cpf como primary key e uma classe Pedido que eu gostaria de inserir o cpf como chave estrangeira
Cliente
package de.livraria;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Cliente {
int cpf;
String nome;
String login;
String senha;
int telefone;
@Id
@Column(name = "CPF")
public int getCpf() {
return cpf;
}
public void setCpf(int cpf) {
this.cpf = cpf;
}
@Column(name = "Nome", nullable = false, length = 50)
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Column(name = "Login", nullable = false, length = 50)
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
@Column(name = "Senha", nullable = false, length = 50)
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
@Column(name = "Telefone", nullable = false, length = 50)
public int getTelefone() {
return telefone;
}
public void setTelefone(int telefone) {
this.telefone = telefone;
}
}
Pedido
package de.livraria;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import org.hibernate.annotations.ForeignKey;
@Entity
public class Pedido {
int idPedido;
Date data;
String enderecoEntrega;
@Id
@Column(name = "IdPedido")
public int getIdPedido() {
return idPedido;
}
public void setIdPedido(int idPedido) {
this.idPedido = idPedido;
}
@Column(name = "Data", nullable = false, length = 50)
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
@Column(name = "EnderecoEntrega", nullable = false, length = 50)
public String getEnderecoEntrega() {
return enderecoEntrega;
}
public void setEnderecoEntrega(String enderecoEntrega) {
this.enderecoEntrega = enderecoEntrega;
}
@OneToOne
@JoinColumn(name="CPF", referencedColumnName = "CPF")
private Cliente cliente;
}