| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/07/2004 14:06:14
|
jack_-_ganzha
JavaEvangelist
![[Avatar]](/images/avatar/847cc55b7032108eee6dd897f3bca8a5.jpg)
Membro desde: 31/03/2003 13:18:12
Mensagens: 315
Localização: Recife - Pernambuco
Offline
|
Olá,
Eis que me deparei com o seguinte problema. Uso o Hibernate para ORM e agora preciso de uma hieararquia de classes que funcione assim:
People - classe na raiz da arvore de herança e se relaciona com a table SCACIN_PEOPLE;
User - classe filha de People e que, no mapeamento é uma joined-class, ou seja, uma table especifica para essa classe. No casos, SCACIN_USER;
Administrator e outras 2 classes - essas são subclasses de User e não precisam de uma table por classe.
Então, o mapeamento das classes filhas de User deveriam ser feitas via subclass com um descriminator value para identificar cada classe na hierarquia de herança. O problema é que a DTD do Hibernate não permite que uma joined-subclass possua uma subclass ou o contrario. Mais ainda, vc não pode ter no mapeamento de uma classe, no caso People, mix entre joined-subclass e subclass. Ou seja, usa uma ou outra. Alguma ideia de como resolver isso? A unica coisa que me ocorre agora é usar composição entre People e User, mas isso implica mudançs no Modelo ER e daí, haja briga com quem fez o banco.
Details:
Hibernate Version: 2.1.4, 02. June 2004
Class headers with XDoclet Tags:
Obviamente, como expliquei acima, o conjunto de tags para a classe Administrator não funciona.
Post pertinente no forum do Hibernate:
http://forum.hibernate.org/viewtopic.php?t=931004
valeuz...
|
Marcos Silva Pereira
http://www.javafree.org
http://marcospereira.wordpress.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/07/2004 15:11:08
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
|
Use tudo joined!
Alias, eh muito mais elegante em relacao ao modelo entidade relacionamento neh? forma normal e tal....
|
http://blog.caelum.com.br twitter: @paulo_caelum
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/07/2004 21:17:09
|
jack_-_ganzha
JavaEvangelist
![[Avatar]](/images/avatar/847cc55b7032108eee6dd897f3bca8a5.jpg)
Membro desde: 31/03/2003 13:18:12
Mensagens: 315
Localização: Recife - Pernambuco
Offline
|
Paulo Silveira wrote:Use tudo joined!
Alias, eh muito mais elegante em relacao ao modelo entidade relacionamento neh? forma normal e tal....
Mas, Paulo, usar tudo joined me obriga a fazer mudanças na estrutura do banco visto que assim fica uma table-per-class, não? Bom, eu não posso alterar o modelo do banco. Vou refatorar algumas coisas para mandar metade essa hierarquia de herança pro espaço. Sugestões?
ps.: Dos foruns do Hibernate: "Hibernate3 solves this by allowing you to mix <subclass> and <join>"
valeuz...
|
Marcos Silva Pereira
http://www.javafree.org
http://marcospereira.wordpress.com |
|
|
 |
|
|
|
|