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 :

Problème mapping héritage


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut Problème mapping héritage
    Salut,

    J'ai fait un fichier de mapping qui décrit un héritage avec la stratégie une table par classe fille avec un discriminant.
    A la base ce fichier fonctionne très bien. Le problème que j'ai survient quand dans une des classes filles je veux ajouter une association one to many (dans la classe fille ZoneDataCoordinates)

    Voici mon fichier de mapping :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
    <hibernate-mapping package = "com.tas.ouate.jsynperf.data.model">
     
       <class name="Coordinates" table="COORDINATES">
     
    		<id name="id" column="COORDINATES_ID">
                <generator class="sequence"/>
            </id>
     
            <discriminator column="COORDINATES_TYPE" type="string"/>
     
    		<property name="name"/>
    		<property name="condition" type="com.tas.ouate.jsynperf.common.util.MeasureCondition" column="CONDITION"/>    	
     
            <many-to-one name="flightSet" 
    	    	lazy="false"
    	        column="FLIGHTSET_ID"
    	        not-null="false"/>
     
            <subclass name="SimpleCoordinates" discriminator-value="SIMPLE">
            <join table="SIMPLE_COORDINATES">
                <key column="COORDINATES_ID"/>
                <property name="line" column="LINE"/>
                <property name="column" column="COLUMN"/>
            </join>
        	</subclass>
     
        	<subclass name="ZoneDataCoordinates" discriminator-value="ZONE_DATA">
            <join table="ZONEDATA_COORDINATES">
                <key column="COORDINATES_ID"/>
            </join>
            	<bag name="coordinatesList" inverse="true" lazy="false" cascade="persist,merge,save-update,delete-orphan">
            		<key column="COORDINATES_ID"/>
            		<one-to-many class="ComplexCoordinates"/>
    	    	</bag>
        	</subclass>
     
        </class>
     
    </hibernate-mapping>
    Voici l'erreur que j'ai :
    org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/tas/ouate/jsynperf/data/mapping/Coordinates.hbm.xml
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:586)
    at com.tas.ouate.jsynperf.database.configuration.HibernateConfig.initialize(HibernateConfig.java:16)
    at com.tas.ouate.jsynperf.gui.rcp.application.Application.start(Application.java:63)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
    Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from invalid mapping
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:549)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:583)
    ... 15 more
    Caused by: org.xml.sax.SAXParseException: The content of element type "subclass" must match "(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)*)".
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.dom4j.io.SAXReader.read(SAXReader.java:465)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:546)
    ... 16 more
    Je ne fais sûrement pas ca de la bonne facon mais je ne comprends pas comment faire, donc si quelqu'un a des explications à me fournir, par avance merci!!

  2. #2
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut
    Alors j'ai inversé la balise bag et la balise join et ca marche!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <subclass name="ZoneDataCoordinates" discriminator-value="ZONE_DATA">
            <bag name="coordinatesList" inverse="true" lazy="false" cascade="persist,merge,save-update,delete-orphan">
            		<key column="COORDINATES_ID"/>
            		<one-to-many class="ComplexCoordinates"/>
    	    	</bag>
            <join table="ZONEDATA_COORDINATES">
                <key column="COORDINATES_ID"/>
     
            </join>
     
        	</subclass>
    Je ne savais pas que l'ordre des balises était important.

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

Discussions similaires

  1. [Mapping] Problème mapping dans héritage
    Par bonapart002 dans le forum Hibernate
    Réponses: 0
    Dernier message: 16/10/2012, 09h37
  2. Problème de mapping - héritage - list
    Par Marty000 dans le forum Hibernate
    Réponses: 0
    Dernier message: 18/06/2009, 11h07
  3. Problème d'héritage et de mapping
    Par Yudge dans le forum Hibernate
    Réponses: 7
    Dernier message: 20/05/2009, 09h38
  4. Problème mapping héritage
    Par Merguez22 dans le forum Hibernate
    Réponses: 2
    Dernier message: 02/05/2009, 15h27
  5. Problème d'héritage d'une méthode protégée
    Par shenron666 dans le forum C++
    Réponses: 9
    Dernier message: 28/04/2005, 23h17

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