Tenho a seguinte situação
Tabela: usuario 1 ---- 1 usuarioSeguranca
CREATE TABLE seguranca.usuario(
cpf character varying(11) NOT NULL,
senha character varying(32) NOT NULL,
ad boolean NOT NULL DEFAULT false,
ativo boolean NOT NULL DEFAULT false,
nome character varying(50) NOT NULL,
PRIMARY KEY (cpf)
)
----
CREATE TABLE usuario
(
cpf character varying(11) NOT NULL,
rg character varying(15) NOT NULL,
endereco character varying(300) NOT NULL,
PRIMARY KEY (cpf),
FOREIGN KEY (cpf),
REFERENCES usuarioSeguranca (cpf)
)
Como vcs podem ver, na tabela usuário o campo cpf é tanto chave primaria como estrangeira, e se relaciona com a tabela usuarioSeguranca.
Pergunta como fazer o mapeamento ? de uma chave que é primaria e estrangeira ao mesmo tempo.
// tabela usuario
public class Usuario {
@Id
@OneToOne()
@JoinColumn(name="cpf",referencedColumnName="cpf")
private UsuarioSeguranca usuarioSeguranca;
// tabela usuarioSeguranca
@OneToOne(mappedBy="usuarioSeguranca")
private Usuario usuario;