Olá pessoal.
Estou com um dúvida sobre a melhor maneira de atualizar um objeto que possui vários outros objetos e também apontam para outros objetos. Vou tentar ilustrar:
Tenho a seguinte hierarquia:
Funcionario -> Pessoa -> Endereço -> Logradouro
Na minha aplicação preciso atualizar o logradouro do endereço de um funcionário, pois bem, acessei o crud de funcionario e alterei a valor de logradouro.
No momento de fazer a atualização no banco é que me veio a dúvida. Para realizar essa atualização preciso abrir um transação (EntityManger.begin) e, dentro dela (transação), efetuar as modificações no objeto para depois efetuar o commit e, por fim, fechar a entityManger.
Para atualizar logradouro teria que sair atualizando todas as entidades que estão no meio do caminho ou poderia simplesmente fazer:
funcionario.getPessoa().getEndereco().setLogradouro(logradouro);
?
Lembrando que logradouro também é um objeto.
já tentei isso e não deu certo. Para atualizar teria que primeira atualizar o logradouro com o novo elemento, depois o endereço, depois a pessoa e, finalmente, o funcionário. Em uma aplicação com muitos relacionamentos do tipo fica meio confuso e muito fácil de cometer erros. Qual seria uma solução mais organizada para isso?
Obrigado.

