Eu to um pequeno problema utilizando o hibernate.
Eu tenho duas tabelas sendo elas ENDERECO E USUARIO.
Eu fiz um mapeamento unidirecional, da tabela USUARIOpara a tabela ENDERECO.
Tabela USUARIO:
<hibernate-mapping>
<class name="br.com.iride.hibernate.model.Usuario" table="USUARIO">
<id name="id" column="ID">
<generator class="increment"/>
</id>
<property name="nome" column="NOME"/>
<property name="sexo" column="SEXO"/>
<property name="email" column="EMAIL"/>
<property name="dataNascimento" column="DATANASCIMENTO"/>
<property name="telefoneResidencial" column="TELEFONERESIDENCIAL"/>
<property name="telefoneCelular" column="TELEFONECELULAR"/>
<property name="telefoneComercial" column="TELEFONECOMERCIAL"/>
<property name="fax" column="FAX"/>
<property name="login" column="LOGIN"/>
<property name="senha" column="SENHA"/>
<property name="observacao" column="OBSERVACAO"/>
<property name="dataCadastro" column="DATACADASTRO"/>
<property name="ativo" column="ATIVO"/>
<one-to-one name="endereco"
class="br.com.iride.hibernate.model.Endereco" lazy="false" />
</class>
</hibernate-mapping>
Tabela ENDERECO
<hibernate-mapping>
<class name="br.com.iride.hibernate.model.Endereco" table="ENDERECO">
<id name="id" column="USUARIO_ID">
<generator class="foreign">
<param name="property">usuario</param>
</generator>
</id>
<property name="logradouro" column="RUA"/>
<property name="numero" column="NUMERO"/>
<property name="bairro" column="BAIRRO"/>
<property name="cep" column="CEP"/>
<property name="complemento" column="COMPLEMENTO"/>
<property name="referencia" column="REFERENCIA"/>
</class>
</hibernate-mapping>
Como vcs podem perceber a tabela ENDERECO tera uma foreng key ta tabela USUARIO. Isso diz que um endereco tera somente um usuário associado.
O que acontece é que quando eu insiro um usuário, os dados de endereço não são inseridos.
Segue abaixo a classe que faz a inserção.
public static void main(String[] args) {
Session sessao = HibernateFactory.getSession();
Transaction transaction = sessao.beginTransaction();
Endereco endereco = new Endereco();
endereco.setLogradouro("Rua Miriam Dora Rossi");
endereco.setBairro("Chácara Inglesa");
endereco.setNumero(100);
endereco.setCep("09726-100");
endereco.setComplemento("apto 44");
endereco.setReferencia("Próximo ao Best shopping");
Usuario usuario = new Usuario();
usuario.setNome("Mauricio Nunes");
usuario.setEmail("nunes.mauricio@gmail.com");
usuario.setSexo("M");
usuario.setDataNascimento(new Date());
usuario.setTelefoneResidencial("41221674");
usuario.setTelefoneCelular("8482-6652");
usuario.setTelefoneComercial("3652-8972");
usuario.setLogin("mauricionunes");
usuario.setSenha("160160");
usuario.setObservacao("teste");
usuario.setDataCadastro(new Date());
usuario.setAtivo("S");
usuario.setEndereco(endereco);
sessao.save(usuario);
transaction.commit();
sessao.close();
}
}
Alguem pode me ajudar ?