IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Association refléxive sur différents niveaux d'héritage [Mapping]


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 17
    Par défaut Association refléxive sur différents niveaux d'héritage
    Bonjour, bonsoir,

    je suis actuellement confronté à un problème que je me permet de qualifier de "relou". J'ai concrètement une notion de taxon à faire persister. Ce taxon peut être une Famille un genre ou une espèce. Chacun étant reliés entre eux de manière hiérarchique. Taxon>(Famille>Genre>Espece).

    Voici mon XML permettant de mapper l'engin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <class name="Modèle.Taxonomie.Taxon" table="TAXON">
            <id name="idTaxon" column="ID_TAXON">
                <generator class="increment"/>
            </id>
            <property name="description" type="string" column="DESCRIPTION"/>
            <property name="nom" type="string" column="NOM"/>
            <property name="nom_latin" type="string" column="NOM_LATIN"/>
            <discriminator column="TYPE" type="string"/>
            <subclass name="Modèle.Taxonomie.Famille" discriminator-value="FAM">
                <property name="estAnimal" column="EST_ANIMAL" type="boolean"/>
                <set name="desGenres" table="EST_COMPOSEE_DE" cascade="all">
                    <key column="ID_TAXON"/>
                    <many-to-many column="ID_GENRE" class="Modèle.Taxonomie.Genre"/>
                </set>
            </subclass>
            <subclass name="Modèle.Taxonomie.Genre" discriminator-value="GEN">
                <set name="desEspeces" table="SE_COMPOSE_DE" cascade="all">
                    <key column="ID_TAXON"/>
                    <many-to-many column="ID_ESPECE" class="Modèle.Taxonomie.Espece"/>
                </set>
            </subclass>
            <subclass name="Modèle.Taxonomie.Espece" discriminator-value="ESP">
                    <key column="ID_TAXON"/>
                    <many-to-one name="unGenre" column="ID_GENRE" class="Modèle.Taxonomie.Genre"/>
            </subclass>
        </class>
    J'obtient cette erreur, qui n'est pas très explicite pour moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Grave: Error parsing XML: XML InputStream(28) Le contenu du type d'élément "subclass" doit correspondre à "(meta*,tuplizer*,synchronize*,(property|many-to-one|one-to-one|component|dynamic-component|any|map|set|list|bag|idbag|array|primitive-array)*,join*,subclass*,loader?,sql-insert?,sql-update?,sql-delete?,resultset*,(query|sql-query)*)".
    mai 13, 2012 11:23:44 PM org.hibernate.util.XMLHelper$ErrorLogger error
    Grave: Error parsing XML: XML InputStream(29) Le contenu du type d'élément "class" doit correspondre à "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,resultset*,(query|sql-query)*)".
    Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Could not parse mapping document from resource hibernate.hbm.xml
    Exception in thread "main" java.lang.ExceptionInInitializerError
    	at NewHibernateUtil.<clinit>(NewHibernateUtil.java:28)
    	at TestMAPPING.main(TestMAPPING.java:23)

    J'ai bien compris qu'il y avait une erreur dans l'XML mais ou?

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 17
    Par défaut
    La solution est : le discriminator value toujours derrière l'ID.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/11/2009, 18h18
  2. Héritage de templates sur trois niveaux
    Par Rabywan dans le forum Langage
    Réponses: 4
    Dernier message: 30/06/2009, 16h20
  3. [AC-2000] Comparer des tables et des tcd sur différents niveaux
    Par ls8ls8 dans le forum VBA Access
    Réponses: 0
    Dernier message: 19/05/2009, 20h35
  4. [Hibernate] Héritage sur plusieurs niveaux
    Par srvremi dans le forum Hibernate
    Réponses: 2
    Dernier message: 31/05/2006, 18h39
  5. [MCD] Héritage restreint d'association réflexive sur mère
    Par n00bi dans le forum Schéma
    Réponses: 5
    Dernier message: 19/04/2006, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo