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

MS SQL Server Discussion :

définir IDENTITY_INSERT à ON avec hibernate ?


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 53
    Points
    53
    Par défaut définir IDENTITY_INSERT à ON avec hibernate ?
    bonjour je realise une application avec J2EE qui interroge une base de données Microsoft SQL server,
    mon probleme est lorsque je veux ajouter un enregistrement dans la table ca me genere l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    12:16:11,828  WARN JDBCExceptionReporter:77 - SQL Error: 544, SQLState: 23000
    12:16:11,828 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.
    donc pour résoudre le problème il faut définir IDENTITY_INSERT à ON
    pour ce il existe 2 methodes :
    - enlever l'auto increment de la table une fois pour toute

    - mettre SET Indentity_Insert nom_table ON avant la requete d'ajout

    j'ai deux questions :
    -quel l'avantage ( ou l'inconvénient) de définir Identity_insert à OFF ??
    - comment puis-je mettre SET "Indentity_Insert nom_table ON" alors que moi j'utilise pas de code SQL puisque je travaille avec le framework hibernate ( c hibernate qui se charge d'incrémenter la clé primaire)
    voila un exemple de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Depositaire depositaire = new Depositaire();
    		depositaire.setCode("D2FA");
    		depositaire.setLibelle("BC");
    		depositaire.setNom("Banque Central");
    		dep.saveDepositaire(depositaire);

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Je ne connais pas suffisament le fonctionnement de hibernate, mais il faudrait quand que tu fasses attention aux 2 points suivants :

    - Si tu n'es pas maître de l'ensemble des applications ou des clients attaquant ta base de données, il n'est pas conseillé d'en modifier la structure.

    - Enlever l'IDENTIT_INSERT peut poser des soucis si d'autres applications font des insertions et que ce champ doit être incrémenté.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 90
    Points : 53
    Points
    53
    Par défaut
    merci, effectivement il y en a d'autres applications qui interrogent la base de données et je ne sais pas quelle architecture ils utilisent, donc la seule chose qui me reste est d'inserer le SET avant la requete d'ajout, seulement comme je disais, j'utilise pas du code SQL, et c'est la que je bloque.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Le plus simple est d'utiliser une procédure stockée pour effectuer ton traitement. De cette manière tu peux effectuer ton SET et ton ordre SQL.

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

Discussions similaires

  1. EJB 3.0 vs Hibernate ??? EJB 3.0 avec Hibernate ???
    Par yakamax dans le forum Hibernate
    Réponses: 2
    Dernier message: 11/04/2006, 12h31
  2. [Hibernate] Problème avec Hibernate et Eclipse 3
    Par theseuby dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/03/2006, 21h31
  3. Connection de SQL SERVER 2005 EXPRESS avec HIBERNATE
    Par jerome giraud dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/02/2006, 09h07
  4. [Plugin][Hibernate]Eclipse avec hibernate(synchronizer)
    Par mg67 dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 23/06/2005, 17h19
  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