Hibernate não persiste o registro(Problema cabuloso)

Olá Galera

Estou desenvolvendo um sistema, onde tenho a seguinte estrutura:

Pessoa 1-
-
-1 Endereco 1-
-
-N Telefones 1 — N TipoTelefone

Só para constar, estou utilizando Hibernate 3.1, Spring, Struts com MySQL.

Seguinte, a primeira parte onde instancio o objeto pessoa através dos dados recebidos do form e coloco na sessão e passo para o form de endereço e logo em seguinte após o termino do preenchimento eu salvo o objeto pessoa da seguinte forma;

endereco.setPessoa(pessoa);
pessoa.setEndereco(endereco);
daoPessoa.save(pessoa);

até aí tudo bem, o problema é na a fase de telefone, ou seja, acabei de persistir o objeto e logo em seguidaeu quero colocar vários telefones no endereço, e para isso tenho um mapeamento Set bem como um atributo telefones do tipo set dentro de Endereco e tudo mais e dentro de telefone eu tenho o atributo endereco e também tipo de telefone. Portanto para inserir os telefones dentro de endereços um faço uma pesquinsa onde o usuário deve localizar a pessoa que por consequência tem o endereço atrelado a esse objeto mais ou menos como o código abaixo:

Pessoa pessoa = daoPessoa.getPessoa(id);
Telefone fone = new Telefone();

fone.setNumero(numero);
fone.setEndereco(pessoa.getEndereco());
pessoa.getEndereco().getTelefones().add(fone);

daoPessoa.savePessoa(pessoa);

O problema é que não acontece nada, ou seja, não salva e não dá erro algum.

As dúvidas começam agora, quanto faço a busca do objeto pessoa eu obtenho o registro correto da pessoa bem como o endereco e tudo mais, mais acaso eu faça o seguinte código os valoes do objeto endereço não são copiados para o outro objeto como segue:

Endereco endereco = pessoa.getEndereco();

O novo objeto endereço não tem seus atributos atualizados, ou seja, por exemplo o atributo logradouro não recebe o valor do pessoa.getEndereco().getLogradouro(), onde acho isso estranho, desde que o objeto endereco dentro de pessoa tem todos os atributos preenchidos.

Alguém sabe o que possa estar acontecendo?

vc esta comitando a transação???

Coloca os seus mapeamentos aí