-->
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: Plusieurs niveaux d'héritage aux stratégies différentes
PostPosted: Tue Nov 24, 2009 11:04 am 
Newbie

Joined: Tue Nov 24, 2009 10:34 am
Posts: 1
Bonjour,

Je suis actuellement confronté à un problème auquel je ne trouve pas de solution.

Soient les classes suivantes :
  • ManagementAct
  • Care, qui dérive de ManagementAct
  • MedicalCare, NurseCare et RescuerCare, qui dérivent toutes trois de Care

J'ai donc là 3 niveaux d'héritages.

Du point de vue base de données, j'ai une table ManagementAct et une table Care, mais pas de table pour les trois dérivations de Care, les différences en terme de données étant relativement minimes. La différenciation se fait donc via un champs discriminant type dans la table Care.

En toute logique, la forme du fichier de mapping serait donc la suivante :
Code:
<hibernate-mapping>
   <class name="ManagementAct" table="managementAct">
      <id name="id">
        <generator class="assigned"/>
      </id>
      [...]
      <joined-subclass name="Care" table="care">
         <key column="id"/>
         <discriminator column="type" type="string"/>
         [...]
         <subclass name="MedicalCare" discriminator-value="medical">
            [...]
         </subclass>
         [...]
      </joined-subclass>
   </class>
</hibernate-mapping>


L'erreur qui m'est retournée est la suivante :
Quote:
org.xml.sax.SAXParseException: The content of element type "joined-subclass" must match "(meta*,subselect?,synchronize*,comment?,tuplizer*,key,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,joined-subclass*,loader?,sql-insert?,sql-update?,sql-delete?,resultset*,(query|sql-query)*)".

Celle-ci laisse donc à penser que la dtd des fichiers de mappings d'Hibernate n'admet ni balise <subclass> ni <discriminator> dans un élément <join-subclass>.

Existe-t-il une autre solution, sans avoir à modifier mes modèles de classes et de données ?

Merci d'avance pour votre aide.


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.