Bom tarde a todos!
Estou iniciando em "Hibernate" e estou com dificuldade para mapear o relacionamento "um para um" entre duas tabelas.
CREATE TABLE "empresa"(
"id_empresa" int NOT NULL,
"razao_social" varchar(80),
"nome_fantasia" varchar(80),
"cnpj" varchar(18),
"id_endereco" int,
"data_excluido" date,
"excluido" int,
"id_funcionario_exclusao" int,
CONSTRAINT "pk_empresa" PRIMARY KEY ("id_empresa")
);
CREATE TABLE "endereco"(
"id_endereco" int NOT NULL,
"endereco" varchar(45),
"bairro" varchar(45),
"cidade" varchar(45),
"estado" varchar(2),
"cep" varchar(9),
"complemento" varchar(50),
"data_excluido" date,
"excluido" int,
"id_funcionario_exclusao" int,
CONSTRAINT "pk_endereco" PRIMARY KEY ("id_endereco")
);
Onde a tabela empresa possui uma chave estrangeira "id_endereco" a qual referencia a tabela endereco
Minhas classes estão com as seguintes annotations:
–>Empresa
@Entity
@Table(name="empresa")
public class Empresa implements Serializable {
@Id
@Column(name="id_empresa")
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private Integer idEmpresa;
@Column(name="razao_social")
private String razaoSocial;
@Column(name="nome_fantasia")
private String nomeFantasia;
@Column(name="cnpj")
private String cnpj;
@Column(name="id_endereco")
@OneToOne(cascade={CascadeType.ALL})
@JoinColumn(name="id_endereco", insertable=false, updatable=false, table="endereco")
private Endereco endereco;
@Column(name="data_excluido")
@Temporal(javax.persistence.TemporalType.DATE)
private Date dataExcluido;
@Column(name="excluido")
private Integer excluido = 0;
@Column(name="id_funcionario_exclusao")
private Integer idFuncionarioExclusao = 0;
}
-->Endereço
[code]
@Entity
@Table(name="endereco")
public class Endereco implements Serializable {
@Id
@Column(name="id_endereco")
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private Integer idEndereco;
@Column(name="endereco")
private String endereco;
@Column(name="bairro")
private String bairro;
@Column(name="cidade")
private String cidade;
@Column(name="estado")
private String estado;
@Column(name="cep")
private String cep;
@Column(name="complemento")
private String complemento;
@Column(name="data_excluido")
@Temporal(javax.persistence.TemporalType.DATE)
private Date dataExcluido;
@Column(name="excluido")
private Integer excluido = 0;
@Column(name="id_funcionario_exclusao")
private Integer idFuncionarioExclusao = 0;
}
[/code]