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 :

[hibernate] probleme avec IDENTITY_INSERT


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Par défaut [hibernate] probleme avec IDENTITY_INSERT
    salut,
    j'essaie d'insérer des données dans une base de données mais je recois l'erreur suivante en exécutant le code :
    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
    Exception in thread "main" org.hibernate.exception.ConstraintViolationException: could not insert: [com.cdvm.model.depositaire.Depositaire]
    	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
    	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2263)
    	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2656)
    	at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:52)
    	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
    	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
    	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
    	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
    	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
    	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
    	at com.cdvm.utilities.HibernateDaoSupport.save(HibernateDaoSupport.java:22)
    	at com.cdvm.dao.impl.DepositaireManagerImpl.saveDepositaire(DepositaireManagerImpl.java:11)
    	at com.cdvm.test.Test.test1(Test.java:21)
    	at com.cdvm.test.Test.<init>(Test.java:13)
    	at com.cdvm.test.Test.main(Test.java:31)
    Caused by: java.sql.SQLException: Impossible d'insérer une valeur explicite dans la colonne identité de la table 'DEPOSITAIRE' quand IDENTITY_INSERT est défini à OFF.
    	at net.sourceforge.jtds.jdbc.SqlMessage.toSQLException(SqlMessage.java:392)
    	at net.sourceforge.jtds.jdbc.SQLWarningChain.addOrReturn(SQLWarningChain.java:91)
    	at net.sourceforge.jtds.jdbc.Tds.goToNextResult(Tds.java:752)
    	at net.sourceforge.jtds.jdbc.TdsStatement.getMoreResults(TdsStatement.java:710)
    	at net.sourceforge.jtds.jdbc.TdsStatement.executeCallImpl(TdsStatement.java:302)
    	at net.sourceforge.jtds.jdbc.TdsStatement.internalExecuteCall(TdsStatement.java:282)
    	at net.sourceforge.jtds.jdbc.PreparedStatement_base.execute(PreparedStatement_base.java:136)
    	at net.sourceforge.jtds.jdbc.PreparedStatement_base.executeUpdate(PreparedStatement_base.java:290)
    	at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
    	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2243)
    	... 15 more
    j'aimerais savoir la cause de cette erreur
    merci pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Par défaut
    bonjour, j'ai réussi a savoir la cause de mon problème, en fait lorsque j'appelle une methode d'insertion ca marche pas a cause de IDENTITY_INSERT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    11:24:08,390 DEBUG SQL:393 - select max(id) from DEPOSITAIRE
    11:24:08,437 DEBUG SQL:393 - insert into DEPOSITAIRE (nom, code, libelle, id) values (?, ?, ?, ?)
    11:24:08,453  WARN JDBCExceptionReporter:77 - SQL Error: 544, SQLState: 23000
    11:24:08,453 ERROR JDBCExceptionReporter:78 - Impossible d'insérer une valeur explicite dans la colonne identité de la table 'DEPOSITAIRE' quand IDENTITY_INSERT est défini à OFF.
    il faut don définir IDENTITY_INSERT à ON. seulement je ne sais pas ou dois-je mettre cette instruction puisque je travaille avec hibernate ( pas de code SQL)
    est ce que quelqu'un peut m'aider ?
    voila la partie de code concernant l'ajout
    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
     
    public class Test {
     
    	private DepositaireManager dep;
     
    	public Test(){
    		dep = new DepositaireManagerImpl();
    		test1();
    			}
     
    public void test1() {
    		Depositaire depositaire = new Depositaire();
    		depositaire.setCode("D2FA");
    		depositaire.setLibelle("BC");
    		depositaire.setNom("Banque Central");
    		dep.saveDepositaire(depositaire);
     
    	}

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/11/2007, 15h25
  2. [hibernate] probleme avec un champ DATE
    Par laurent.c123 dans le forum JDBC
    Réponses: 2
    Dernier message: 12/01/2007, 11h36
  3. [EJB3][HIBERNATE] Probleme avec select max
    Par kristof_machin dans le forum Hibernate
    Réponses: 2
    Dernier message: 26/04/2006, 13h05
  4. [Hibernate]Probleme de requete avec un "or"[\Hiber
    Par crips dans le forum Hibernate
    Réponses: 5
    Dernier message: 07/07/2005, 03h28
  5. Problèmes avec Hibernate (sous Eclipse)
    Par Pierric dans le forum Hibernate
    Réponses: 2
    Dernier message: 07/04/2005, 14h35

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