-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Mélanger table per subclass et table per class hierarchy
PostPosted: Thu Mar 24, 2011 2:33 pm 
Newbie

Joined: Wed Oct 31, 2007 5:15 am
Posts: 6
Bonjour à tous,

je cross-post ici et en Français, peut-être que j'aurais davantage de réponses.

J'ai un modèle de données censé contenir plusieurs types d'objet dans un nombre très restreint de classe/table.
Il définit un modèle d'héritage à 2 niveaux: A <-B.
Pour des raisons de robustesse et de performances, j'aimerais étendre le modèle avec des sous classes C1,C2,C3.. qui ne portent aucune données de plus que B(dont elles héritent). Mais elles servent juste de coquille me permettant de réaliser des requêtes polymorphe.

Afin de conserver la compatibilité avec le code existant, j'ai mappé de la façon suivante:
A et B sont mappés en table per subclass (donc une table pour chacune des entités, disons TABLE_A et TABLE_B). (joined-subclass)
et C1,C2,C3 sont mappé en table per class hierarchy, dans la même table que B avec une colonne discriminator. (subclass)

Le mapping semble correct, car toute ma mécanique s'instancie correctement, hibernate se lance, et je peux même faire des requetes sur mes autres entités.
Par contre, il y'a un soucis lorsque j'essaie d'insérer (save) une entité de C*:
Hibernate fait 3 insert SQL:
Le premier sur TABLE_A pour insérer les prporiétes de la classe mère: OK
Le deuxième sur TABLE_B pour les propriétés de B, mais sans le discriminator
Le troisième toujours sur TABLE_B mais avec juste l'ID. Et donc, j'obtiens une SQL Exception.

Quelqu'un pourrait il m'eclairer sur la faisabilité de cette configuration?
J'ai un doute en lisant la doc hibernate:
"Hibernate does not support mixing <subclass>, <joined-subclass> and <union-subclass> mappings under the same root <class> element "
je ne suis pas certains d'être dans ce cas.

Si je me réfère à la section "Mixing table per class hierarchy with table per subclass" de la doc hibernate, je suis en quelque sorte dans le cas opposé qui est: "mélanger table par sous class puis table par hierarchie de classe"


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.