Olá Pessoal, estou tendo o seguinte problema:
Objetivo:
Especializar um objeto existente e persistí-lo.
Contexto:
Tenho uma classe Pessoa que é especializada para PessoaFisica, PessoaJuridica, PessoaFisica->Funcionario, PessoaJuridica->Organizacao e por ai vai. Preciso especializar um objetivo do tipo Pessoa (natural) para PessoaFisica.
Problema:
Estou fazendo o downcasting Pessoa->PessoaFisica criando uma nova instância de PessoaFisica e reatribuíndo o valor dos atributos contidos em Pessoa na nova instância de PessoaFisica. A "nova" PessaoFisica já está persistida no banco como Pessoa. Não estou conseguindo persistir a "nova" instância de PessoaFisica. Tenho obtido a mensagem de violação de chave primária em Pessoa, pois o hibernate está tentando salvar a Pessoa como um novo objeto.
Preciso que o hibernate faça um update em Pessoa e um save em PessoaFisica.
Como faço para especializar uma instância com o Hibernate ?
Gostaria de manter toda a solução utilizando a persistência com o hibernate.
Obrigado.