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 :

[Question] sur relation Hibernate


Sujet :

Hibernate Java

  1. #1
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Points : 231
    Points
    231
    Par défaut [Question] sur relation Hibernate
    Salut,
    je voudrais savoir quand est ce que je dois avoir une relation many-to-one et one-to-many.
    Exemple :
    un Produit peut appartenir à une et une seule catégorie
    une Catégorie contient un ou plusieurs Produits

    Est ce que je dois mettre many-to-one ds Produit et one-to-many ds Categorie ?
    Sur le tutoriel d'Hibernate j'ai pas trouvé la réponse à ma question, peut etre que j'ai pas trop cherche. Si vous avez des liens sur ça , ça sera super.
    Merci a ts

  2. #2
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Points : 231
    Points
    231
    Par défaut
    salut,
    tjrs par rapport à ma question, j'ai l'exception suivante :

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    ERROR [http-8081-Processor25] - Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.PropertyNotFoundException: Could not find a getter for Intervenant in class com.pia.agp.mapping.Coutjournalierexperian
    org.hibernate.PropertyNotFoundException: Could not find a getter for Intervenant in class com.pia.agp.mapping.Coutjournalierexperian
    	at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
    	at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
    	at org.hibernate.mapping.Property.getGetter(Property.java:272)
    	at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:247)
    	at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:125)
    	at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
    	at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
    	at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:295)
    	at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
    	at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
    	at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
    	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
    	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:825)
    	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:751)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1091)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:277)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)
    	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
    	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
    	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
    	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
    	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:519)
    	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
    	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.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:457)
    	at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(Unknown Source)
    	at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(Unknown Source)
    	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
    	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
    	at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1397)
    	at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:815)
    	at org.apache.catalina.manager.HTMLManagerServlet.deployInternal(HTMLManagerServlet.java:249)
    	at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:96)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    	at java.lang.Thread.run(Unknown Source)
     INFO [http-8081-Processor25] - Closing Spring root WebApplicationContext
    J'ai cette erreur car j'ai essayé de gérer les contraintes d'integrités entre les tables, pour cela j'ai rajouté des relation many-to-one et one-to-many entre mes trois tables.
    Les trois tables en questions sont :
    Intervenant, Droit, CoutJournalierXXX
    On trouve ds Intervenant deux clés étrangeres des deux autres tables.
    Je vous met les sources de mes fichiers hbm, car je suis sur que j'ai mal mis les relation many* et one*.

    Intervenant.hbm.xml
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
     
    <hibernate-mapping>
    <!-- 
        Created by the Middlegen Hibernate plugin 2.2
     
        http://boss.bekk.no/boss/middlegen/
        http://www.hibernate.org/
    -->
     
    <class 
        name="com.pia.agp.mapping.Intervenant" 
        table="intervenant"
        lazy="false"
    >
     
        <id
            name="intervenantId"
            type="java.lang.Integer"
            column="INTERVENANT_ID"
        >
     
            <generator class="increment" />
        </id>
     
        <property
            name="intervenantNom"
            type="java.lang.String"
            column="INTERVENANT_NOM"
            length="30"
        />
        <property
            name="intervenantPrenom"
            type="java.lang.String"
            column="INTERVENANT_PRENOM"
            length="30"
        />
        <property
            name="intervenantLogin"
            type="java.lang.String"
            column="INTERVENANT_LOGIN"
            length="30"
        />
        <property
            name="intervenantMdp"
            type="java.lang.String"
            column="INTERVENANT_MDP"
            length="30"
        />
        <property
            name="intervenantMdp2"
            type="java.lang.String"
            column="INTERVENANT_MDP2"
            length="30"
        />
        <property
            name="intervenantEmail"
            type="java.lang.String"
            column="INTERVENANT_EMAIL"
            length="30"
        />
        <property
            name="intervenantTel"
            type="java.lang.String"
            column="INTERVENANT_TEL"
            length="15"
        />
        <property
            name="intervenantFonction"
            type="java.lang.String"
            column="INTERVENANT_FONCTION"
            length="20"
        />
        <property
            name="intervenantDatedebutcontrat"
            type="java.sql.Date"
            column="INTERVENANT_DATEDEBUTCONTRAT"
            not-null="true"
            length="10"
        />
        <property
            name="intervenantDatefincontrat"
            type="java.sql.Date"
            column="INTERVENANT_DATEFINCONTRAT"
            not-null="true"
            length="10"
        />
     
     
    	<many-to-one
                name="coutjournalierexperianId"    
                class="com.pia.agp.mapping.Coutjournalierexperian"
                cascade="none"
                outer-join="auto"
                update="true"
                insert="true"
                column="COUTJOURNALIEREXPERIAN_ID"
                not-null="true"
        />
     
    	<many-to-one
                name="droitId"    
                class="com.pia.agp.mapping.Droit"
                cascade="none"
                outer-join="auto"
                update="true"
                insert="true"
                column="DROIT_ID"
                not-null="true"
        />
        <!-- Associations -->
     
     
    </class>
    </hibernate-mapping>
    Droit.hbm.xml
    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
    46
    47
    48
    49
    50
    51
    52
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
     
    <hibernate-mapping>
    <!-- 
        Created by the Middlegen Hibernate plugin 2.2
     
        http://boss.bekk.no/boss/middlegen/
        http://www.hibernate.org/
    -->
     
    <class 
        name="com.pia.agp.mapping.Droit" 
        table="droit"
        lazy="false"
    >
     
        <id
            name="droitId"
            type="java.lang.Long"
            column="DROIT_ID"
        >
     
            <generator class="increment" />
        </id>
     
        <property
            name="droitDroit"
            type="java.lang.String"
            column="DROIT_DROIT"
            length="30"
        />
     
        <!-- Associations -->
        <!-- 
      	<one-to-many
      		name="Intervenant" 
      		class="com.pia.agp.mapping.Intervenant" 
      		column="DROIT_ID"
      	/>
      	-->
     
    	<set inverse="true" name="Intervenant">
    			<key column="INTERVENANT_ID" />
    			<one-to-many class="com.pia.agp.mapping.Intervenant" />
    	</set>
     
     
    </class>
    </hibernate-mapping>
    et pour Cout journalier c'est la meme chose que Droit.

    Merci pour votre aide

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 43
    Points
    43
    Par défaut
    salut
    un produit ne peu avoir qu'une seule catégorie mais une catégorie peut avoir plusieurs produits alors ta une relation many to one entre catégorie qui est le pére et produit qui est le fils
    et c'est ainsi que tu peux creer tes tables.La table produit aurra id de catégorie.

    Mais j'ai une proposition ce ke je fais pk ne pa faire faire la table catégorie etant une table de parametrage et tu ne te cassera pa la tete avec les relations.
    A chaque fois que tu enregistre un produit tu enregistre le libelle de la catégorie c simple.

    Mais si tu veux utiliser le many to one tu na qu'a faire ce ke je t'ai di au depard

  4. #4
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Points : 231
    Points
    231
    Par défaut
    Merci pour ta réponse biba158,
    et aussi pour ta proposition mais je préfere stocker des cles ,ça me facilite de faire d'autre recherche par la suite.
    Si j'ai bien compris j'aurais ds le fichier hbm de Produit
    un qlq chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <many-to-one
                name="CategorieId"    
                class="com.pia.agp.mapping.YYY"
                cascade="none"
                outer-join="auto"
                update="true"
                insert="true"
                column="CATEGORIE_ID"
                not-null="true"
        />
    ET DS LE FICHIER hbm de categorie
    on aura
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <set inverse="true" name="Categorie">
    			<key column="CATEGORIE_ID" />
    			<one-to-many class="com.pia.agp.mapping.TYYY" />
    	</set>
    Merci

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 43
    Points
    43
    Par défaut
    dans ton fichier produit .hbm tu aurras un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <id name="id" type="integer">
    	<column name="id" sql-type="int(30)"/>
    	<generator class="increment" />
    	</id>
    	<many-to-one name="categorie" class="Categorie" column="ID_categorie"/>
    <property name="un_ champs" type="string">
    	  <column name="un_ champs" sql-type="char(255)"/>
    	</property>
    dans ton fichier categorie.hbm sera tout simple et sans aucune relation

  6. #6
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Points : 231
    Points
    231
    Par défaut
    ok merci beaucoup, j'essayerai de faire ça

  7. #7
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Points : 231
    Points
    231
    Par défaut
    Salut,
    ça marche pas,
    il m'affiche l'exception suivante
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    ERROR [http-8081-Processor25] - Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.PropertyNotFoundException: Could not find a getter for Droit in class com.pia.agp.mapping.Intervenant
    org.hibernate.PropertyNotFoundException: Could not find a getter for Droit in class com.pia.agp.mapping.Intervenant
    	at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
    	at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
    	at org.hibernate.mapping.Property.getGetter(Property.java:272)
    	at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:247)
    	at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:125)
    	at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
    	at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
    	at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:295)
    	at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
    	at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
    	at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
    	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
    	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:825)
    	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:751)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1091)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:277)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)
    	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
    	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
    	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
    	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
    	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:519)
    	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
    	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.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:457)
    	at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(Unknown Source)
    	at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(Unknown Source)
    	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
    	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
    	at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1397)
    	at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:815)
    	at org.apache.catalina.manager.HTMLManagerServlet.deployInternal(HTMLManagerServlet.java:249)
    	at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:96)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    	at java.lang.Thread.run(Unknown Source)
     INFO [http-8081-Processor25] - Closing Spring root WebApplicationContext
    voila mon fichier Intervenant.hbm.xml
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
     
    <hibernate-mapping>
    <!-- 
        Created by the Middlegen Hibernate plugin 2.2
     
        http://boss.bekk.no/boss/middlegen/
        http://www.hibernate.org/
    -->
     
    <class 
        name="com.pia.agp.mapping.Intervenant" 
        table="intervenant"
        lazy="false"
    >
     
        <id
            name="intervenantId"
            type="java.lang.Integer"
            column="INTERVENANT_ID"
        >
     
            <generator class="increment" />
        </id>
     
        <property
            name="intervenantNom"
            type="java.lang.String"
            column="INTERVENANT_NOM"
            length="30"
        />
        <property
            name="intervenantPrenom"
            type="java.lang.String"
            column="INTERVENANT_PRENOM"
            length="30"
        />
        <property
            name="intervenantLogin"
            type="java.lang.String"
            column="INTERVENANT_LOGIN"
            length="30"
        />
        <property
            name="intervenantMdp"
            type="java.lang.String"
            column="INTERVENANT_MDP"
            length="30"
        />
        <property
            name="intervenantMdp2"
            type="java.lang.String"
            column="INTERVENANT_MDP2"
            length="30"
        />
        <property
            name="intervenantEmail"
            type="java.lang.String"
            column="INTERVENANT_EMAIL"
            length="30"
        />
        <property
            name="intervenantTel"
            type="java.lang.String"
            column="INTERVENANT_TEL"
            length="15"
        />
        <property
            name="intervenantFonction"
            type="java.lang.String"
            column="INTERVENANT_FONCTION"
            length="20"
        />
        <property
            name="intervenantDatedebutcontrat"
            type="java.sql.Date"
            column="INTERVENANT_DATEDEBUTCONTRAT"
            not-null="true"
            length="10"
        />
        <property
            name="intervenantDatefincontrat"
            type="java.sql.Date"
            column="INTERVENANT_DATEFINCONTRAT"
            not-null="true"
            length="10"
        />
     
        <property
            name="coutjournalierexperianId"
            type="java.lang.String"
            column="COUTJOURNALIEREXPERIAN_ID"
            not-null="true"
            length="32"
        />
     
     
    <!-- 
        <property
            name="droitId"
            type="java.lang.Long"
            column="DROIT_ID"
            not-null="true"
        />
    	<many-to-one
                name="coutjournalierexperianId"    
                class="com.pia.agp.mapping.Coutjournalierexperian"
                cascade="none"
                outer-join="auto"
                update="true"
                insert="true"
                column="COUTJOURNALIEREXPERIAN_ID"
                not-null="true"
        />
     
    	<many-to-one
                name="droitId"    
                class="com.pia.agp.mapping.Droit"
                cascade="none"
                outer-join="auto"
                update="true"
                insert="true"
                column="DROIT_ID"
                not-null="true"
        />
     
    -->	
    	<many-to-one name="Droit" class="com.pia.agp.mapping.Droit" column="DROIT_ID"/>
        <!-- Associations -->
     
     
    </class>
    </hibernate-mapping>
    pour Droit.hbm.xml je l'ai pas changé comme tu m'as dit, il contient donc juste les champs de la table Droit sans aucun liaison avec Intervenant

    Est ce que t'a une idée de l'origine de l'erreur ?

    Merci

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 43
    Points
    43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.hibernate.PropertyNotFoundException: Could not find a getter for Droit in class com.pia.agp.mapping.Intervenant
    t'a mis dans ton abstract intervenant.java : "Droit droit" et ensuite ta défini les guetter et setter?

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 43
    Points
    43
    Par défaut
    n'oublie pas de définir le mapping de tes tables dans hibernate.cfg.xml

  10. #10
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Points : 231
    Points
    231
    Par défaut
    merci pour ta reponse,
    je viens de trouver l'erreur, il fallait ecrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <many-to-one name="droitId" class="com.pia.agp.mapping.Droit" column="DROIT_ID"/>
    mnt l'application est deployée, mais quand j'essaye d'accéder à mon formulaire j'ai une autre exception :
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    Etat HTTP 500 -
     
    type Rapport d'exception
     
    message
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception
     
    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.orm.hibernate3.HibernateSystemException: IllegalArgumentException occurred while calling setter of com.pia.agp.mapping.Intervenant.droitId; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.pia.agp.mapping.Intervenant.droitId
    	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:406)
    	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:348)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    cause mère
     
    org.springframework.orm.hibernate3.HibernateSystemException: IllegalArgumentException occurred while calling setter of com.pia.agp.mapping.Intervenant.droitId; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.pia.agp.mapping.Intervenant.droitId
    	org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:661)
    	org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:413)
    	org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:371)
    	org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:844)
    	org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
    	com.pia.agp.dao.DaoIntervenantImpl.getAll(DaoIntervenantImpl.java:25)
    	com.pia.agp.service.ServiceIntervenantImpl.getAll(ServiceIntervenantImpl.java:30)
    	com.pia.agp.web.ListIntervenant.handleRequest(ListIntervenant.java:32)
    	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
    	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
    	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
    	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
    	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:348)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    cause mère
     
    org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.pia.agp.mapping.Intervenant.droitId
    	org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
    	org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
    	org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
    	org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3566)
    	org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
    	org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
    	org.hibernate.loader.Loader.doQuery(Loader.java:729)
    	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    	org.hibernate.loader.Loader.doList(Loader.java:2220)
    	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
    	org.hibernate.loader.Loader.list(Loader.java:2099)
    	org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
    	org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
    	org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
    	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
    	org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    	org.springframework.orm.hibernate3.HibernateTemplate$31.doInHibernate(HibernateTemplate.java:853)
    	org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
    	org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:844)
    	org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
    	com.pia.agp.dao.DaoIntervenantImpl.getAll(DaoIntervenantImpl.java:25)
    	com.pia.agp.service.ServiceIntervenantImpl.getAll(ServiceIntervenantImpl.java:30)
    	com.pia.agp.web.ListIntervenant.handleRequest(ListIntervenant.java:32)
    	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
    	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
    	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
    	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
    	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:348)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    cause mère
     
    java.lang.IllegalArgumentException: argument type mismatch
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	java.lang.reflect.Method.invoke(Unknown Source)
    	org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
    	org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
    	org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
    	org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3566)
    	org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
    	org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
    	org.hibernate.loader.Loader.doQuery(Loader.java:729)
    	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    	org.hibernate.loader.Loader.doList(Loader.java:2220)
    	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
    	org.hibernate.loader.Loader.list(Loader.java:2099)
    	org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
    	org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
    	org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
    	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
    	org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    	org.springframework.orm.hibernate3.HibernateTemplate$31.doInHibernate(HibernateTemplate.java:853)
    	org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
    	org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:844)
    	org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
    	com.pia.agp.dao.DaoIntervenantImpl.getAll(DaoIntervenantImpl.java:25)
    	com.pia.agp.service.ServiceIntervenantImpl.getAll(ServiceIntervenantImpl.java:30)
    	com.pia.agp.web.ListIntervenant.handleRequest(ListIntervenant.java:32)
    	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
    	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
    	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
    	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
    	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:348)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.23.
    Apache Tomcat/5.5.23
    Merci pour ton aide

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 43
    Points
    43
    Par défaut
    revoie le type de tes données(model,dao) avec ceux que t'a mis dans ta base de donnes .
    c'est fort possible que tu té trompée
    boone chance

Discussions similaires

  1. question sur relations uni et bi directionnelles
    Par altair8080 dans le forum Doctrine2
    Réponses: 1
    Dernier message: 06/05/2012, 21h02
  2. Hibernate : suppression sur relation many to one
    Par taf dans le forum Hibernate
    Réponses: 1
    Dernier message: 23/05/2006, 13h08
  3. Questions sur Hibernate
    Par errant dans le forum Hibernate
    Réponses: 3
    Dernier message: 27/03/2006, 14h18
  4. Question sur une relation ternaire dans un MCD
    Par sylsau dans le forum Schéma
    Réponses: 5
    Dernier message: 05/03/2006, 20h00
  5. [Hibernate]Question sur Hibernate
    Par elhani dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/12/2005, 15h39

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