Pessoal, estou com um problema na geração de 2 tabelas de uma aplicação onde estas têm um relacionamento.
O código para geração de tabelas que estou usando é o seguinte:
private void geraTabelas(){
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Fornecedor.class);
SchemaExport se = new SchemaExport(cfg);
se.create(true, true);
}
A declaração dos atributos da minha classe Endereco é a seguinte:
@Id
@GeneratedValue
@Column(name="id")
private Integer id;
private String logradouro;
private String numero;
private String complemento;
private String bairro;
private String cidade;
private String estado;
Na classe Fornecedor, a declaração é a seguinte:
@Id
@GeneratedValue
private Integer id;
@OneToOne
@JoinColumn(name="id", referencedColumnName="id")
private Endereco endereco;
private String razaoSocial;
private String telefone;
private String cnpj;
private String email;
Estou rodando o método geraTabelas() primeiro com a classe Endereco e dá tudo certo.
Depois eu rodo com a classe Fornecedor e não dá nenhum erro.
Porém, quando vou checar no banco se as classes foram geradas corretamente, a coluna endereço (que deveria ser foreign key para a tabela endereco) nem sequer foi criada.
Tenho pouca experiência com hibernate.
Alguém sabe me explicar o que é que está acontecendo?
Desde já, agradeço.