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 :

Erreur utilisation Hibernate : DataException


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 145
    Par défaut Erreur utilisation Hibernate : DataException
    Bonjour j'ai une erreur lors de l'utilisation d'hibernate que je n'arrive pas à résoudre:

    voici ma requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dao.addMarchandise( new Marchandise( 200, 10, "ordianteur" ), "CA1" );
    voici l'erreur:
    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
     
    Hibernate: alter table MARCHANDISE drop foreign key FK_jqnth4nuj69b4lb3k7qqwhavj
    Hibernate: drop table if exists CARGAISONS
    Hibernate: drop table if exists MARCHANDISE
    Hibernate: create table CARGAISONS (REF_CARG varchar(255) not null, TYPE_CARG varchar(2) not null, dateLivraison datetime, distance double precision, poidsMax double precision, temperature double precision, primary key (REF_CARG))
    Hibernate: create table MARCHANDISE (NUMERO bigint not null auto_increment, nom varchar(2), poids double precision, volume double precision, REF_CARG varchar(255), primary key (NUMERO))
    Hibernate: alter table MARCHANDISE add index FK_jqnth4nuj69b4lb3k7qqwhavj (REF_CARG), add constraint FK_jqnth4nuj69b4lb3k7qqwhavj foreign key (REF_CARG) references CARGAISONS (REF_CARG)
    Hibernate: insert into CARGAISONS (dateLivraison, distance, poidsMax, TYPE_CARG, REF_CARG) values (?, ?, ?, 'CA', ?)
    Hibernate: insert into CARGAISONS (dateLivraison, distance, poidsMax, TYPE_CARG, REF_CARG) values (?, ?, ?, 'CA', ?)
    Hibernate: insert into CARGAISONS (dateLivraison, distance, temperature, TYPE_CARG, REF_CARG) values (?, ?, ?, 'CR', ?)
    Hibernate: select cargaison0_.REF_CARG as REF_CARG1_0_0_, cargaison0_.dateLivraison as dateLivr3_0_0_, cargaison0_.distance as distance4_0_0_, cargaison0_.poidsMax as poidsMax5_0_0_, cargaison0_.temperature as temperat6_0_0_, cargaison0_.TYPE_CARG as TYPE_CAR2_0_0_ from CARGAISONS cargaison0_ where cargaison0_.REF_CARG=?
    Hibernate: select marchandis0_.REF_CARG as REF_CARG5_0_1_, marchandis0_.NUMERO as NUMERO1_1_1_, marchandis0_.NUMERO as NUMERO1_1_0_, marchandis0_.nom as nom2_1_0_, marchandis0_.poids as poids3_1_0_, marchandis0_.volume as volume4_1_0_, marchandis0_.REF_CARG as REF_CARG5_1_0_ from MARCHANDISE marchandis0_ where marchandis0_.REF_CARG=?
    Hibernate: insert into MARCHANDISE (nom, poids, volume, REF_CARG) values (?, ?, ?, ?)
    Exception in thread "main" org.hibernate.exception.DataException: could not execute statement
    	at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:71)
    	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
    	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
    	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
    	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:189)
    	at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:96)
    	at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:58)
    	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2987)
    	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3499)
    	at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
    	at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:395)
    	at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:229)
    	at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:209)
    	at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:193)
    	at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:321)
    	at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:286)
    	at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192)
    	at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:125)
    	at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:206)
    	at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
    	at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:191)
    	at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
    	at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
    	at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:683)
    	at org.hibernate.internal.SessionImpl.save(SessionImpl.java:675)
    	at org.hibernate.internal.SessionImpl.save(SessionImpl.java:671)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:497)
    	at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352)
    	at com.sun.proxy.$Proxy2.save(Unknown Source)
    	at com.dao.TransportDaoImpl.addMarchandise(TransportDaoImpl.java:28)
    	at com.dao.TestDao.main(TestDao.java:14)
    ma mehode addMarchandise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     public void addMarchandise( Marchandise m, String refCarg ) {
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            session.beginTransaction();
            Cargaison c = (Cargaison) session.get( Cargaison.class, refCarg );
            m.setCargaison( c );
            c.getMarchandises().add( m );
            session.save( m );
            session.getTransaction().commit();
        }
    fichier de mapping Cargaison.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
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
      <class name="com.dao.Cargaison" table="CARGAISONS">
      	<id name="reference" >
      		<column name="REF_CARG"></column>
      	</id>
      	<discriminator column="TYPE_CARG" type="string" length="2" ></discriminator>
      	<property name="dateLivraison" ></property>
      	<property name="distance"></property>
      	<set name="marchandises" lazy="true" inverse="true">
      		<key column="REF_CARG"></key>
      		<one-to-many class="com.dao.Marchandise"/>
      	</set>
      	<subclass name="com.dao.CargaisonAerienne" discriminator-value="CA">
      		<property name="poidsMax"></property>
      	</subclass>
      	<subclass name="com.dao.CargaisonRoutiere" discriminator-value="CR">
      		<property name="temperature"></property>
      	</subclass>
      </class>
    </hibernate-mapping>
    marchandise.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
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
      <class name="com.dao.Marchandise" table="MARCHANDISE">
      	<id name="numero" column="NUMERO">		
      		<generator class="native"></generator>
      	</id>
      	<property name="nom" length="2"></property>
      	<property name="poids"></property>
      	<property name="volume"></property>
      	<many-to-one name="cargaison" column="REF_CARG"></many-to-one>
      </class>
    </hibernate-mapping>

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Hibernate: insert into CARGAISONS (dateLivraison, distance, poidsMax, TYPE_CARG, REF_CARG) values (?, ?, ?, 'CA', ?)
    Hibernate: insert into CARGAISONS (dateLivraison, distance, poidsMax, TYPE_CARG, REF_CARG) values (?, ?, ?, 'CA', ?)
    Hibernate: insert into CARGAISONS (dateLivraison, distance, temperature, TYPE_CARG, REF_CARG) values (?, ?, ?, 'CR', ?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dao.addMarchandise( new Marchandise( 200, 10, "ordianteur" ), "CA1" ); // tu n'as pas la cargaison CA1 dans ta base
    A+.

Discussions similaires

  1. Erreur d'utilisation Hibernate 3.5.1-Final avec Maven
    Par KyoRi dans le forum Hibernate
    Réponses: 0
    Dernier message: 15/05/2010, 13h26
  2. generer les fischier hbm.xml en utilisant hibernate
    Par lahiane dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/02/2006, 13h20
  3. erreur : utilisation incorrecte du mot clé
    Par StyleXP dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/02/2006, 09h24
  4. Erreur utilisation de type indéfini
    Par hanane_iaai dans le forum C++
    Réponses: 3
    Dernier message: 04/07/2005, 17h34
  5. [langage] erreurs utilisation tableaux 2 dimensions
    Par drosof dans le forum Langage
    Réponses: 11
    Dernier message: 01/07/2003, 11h44

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