Tenho um relacionamento One-To-One de Pergunta e Resposta.
public class Pergunta {
@Id
@GeneratedValue
private Long Id;
private String descricao;
//getter and Setters
}
public class Resposta {
@Id
@GeneratedValue
private Long Id;
@OneToOne
private Pergunta pergunta;
private String descricao;
//getter and Setters
}
Após mapear as classes e pedir para o Hibernate gerar o banco . Funciono corretamente. Ele cria as tabelas a abaixo
Olá pabloleary,
No seu caso o mapemento one to one, você vai precisar criar uma chave composta para não premitir mais de uma resposta para a mesma pergunta…
Sendo o id da pergunta + o da resposta…
Como você pode ver a tabela Resposta possui chave estrangeira para Pergunta mas o inverso não é verdade. Essa estrutura é exatamente a mesma estrutura que você iria obter se o seu relacionamento N:1 ou 1:N. O relacionamento 1:1 só existe no código a estrutura de banco de dados é será sempre de um relacionamento 1:N ou N:1.