Hibernate + Heranca  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
ono.leo
Thread.start()

Membro desde: 09/11/2009 15:09:45
Mensagens: 38
Offline

Olá ! Estou começando alguns estudos com hibernate, será que alguém pode me ajudar ? Estou com a seguinte dúvida de herança: tenho 4 classes conforme abaixo:



Estou criando um cadastro de Pessoa Juridica que, na hora de gravar com hibernate, grava as tabelas Pessoa e Pessoa Juridica juntas. Até aqui ok.

Agora, queria poder pegar uma Pessoa Juridica que já existe no banco e transformá-lo em Fornecedor ou Cliente, mais ou menos como no codigo abaixo:





Se alguem puder me dar alguma dica ou sugestao, ficarei muito grato

glaucogoca
Thread.start()
[Avatar]

Membro desde: 18/08/2008 10:42:57
Mensagens: 34
Offline

Olá ono.leo blz?

o hibernate tem a opção de anotação @Inheritance(strategy=InheritanceType.JOINED)

Suas tabelas filhas terão como PK uma chave estrangeira para a PK da tabela pai.
Ao salvar seu Fornecedor ou Cliente o hibernate irá salvar toda hierarquia automagicamente.

Nesse caso um simples Cast deve resolver o problema.

A referência da documentação está aqui.

http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/

Espero ter ajudado.
Inté
ono.leo
Thread.start()

Membro desde: 09/11/2009 15:09:45
Mensagens: 38
Offline

Oopa, olá glaucogoca !

Muito obrigado por responder.

Então, o problema é que precisava criar um fornecedor apartir de uma PessoaJuridica já existente no banco.

Cara, perdão, eu não entendi o uso da CAST ... tipo, eu tava fazendo assim:


No caso, usando o CAST, não daria problema ? Por exemplo:




Bom, e a outra coisa é que na hora de salvar, quando faço fornecedorDao.save(fornecedor), ele acaba criando mais um registro na tabela Pessoa e Pessoa Juridica, sendo que na verdade eu queria que ele utilizasse o registro que já existe no banco ...

Alguma idéia ?

Obrigado
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team