| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 17:18:41
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 18:08:28
|
glaucogoca
Thread.start()
![[Avatar]](/images/avatar/2a384b15e8016b260de6ef70a54dbd22.jpg)
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é
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 18:25:30
|
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
|
|
|
 |
|
|
|
|