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

Persistance des données Java Discussion :

hibernate: l’identifiant généré par la séquence est différent de celui retourné par une select!


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Par défaut hibernate: l’identifiant généré par la séquence est différent de celui retourné par une select!
    Bonjour,

    En traçant les requêtes générées par hibernate lors de d’un merge, on s’est rendu compte que lors de l’insertion dans la table, l’identifiant généré par la séquence et qui est passé en paramètre de la requête est différent de celui retourné si on fait une select sur la même table.
    En résumé l’identifiant retourné via une select est incrémenté de 1 par rapport a celui inséré lors du merge , on arrive pas à expliquer ce comportement et on sait pas si c’est du a une mauvaise configuration ou un défaillance de Oracle10g.
    Pour plus de précision on utilise hibernate 3.2 et spring 2.5 :
    Configuration :
    [CODE<bean id="transactionProxy" abstract="true"
    class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    <property name="transactionManager">
    <ref bean="transactionManager" />
    </property>
    <property name="transactionAttributes">
    <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="update*">PROPAGATION_REQUIRED</prop>
    <prop key="save*">PROPAGATION_REQUIRED</prop>
    <prop key="*">PROPAGATION_REQUIRED, readOnly</prop>
    </props>
    </property>
    </bean> [/CODE]
    SQL generées :
    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
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.SQL] insert into LAKEHAL.PPP_COMPTE_EXTERNE (STATUT_COMPTE_EXTERNE, TYPE_PAGE_CONNECTION, LOGIN, REPONSE, DATE_CREATION_COMPTE, PJ_RIB_FICHIER, PJ_KBIS_FICHIER, SIRET, RAISON_SOCIALE, VOIE_NUMERO, VOIE_NUMERO_CMPLT, VOIE_LIBELLE, VOIE_CMPLT, COMMUNE, CODE_INSEE, CODE_POSTAL, CEDEX_BOOL, CEDEX_LIBELLE, ID_CODE_PROFIL_EXTERNE, ID_CODE_QUESTION_COMPTE, ID_CODE_TYPE_CONTACT, ID_CODE_COMMUNE_AGENCE, ID_CODE_PAYS, ID_COMPTE_EXTERNE) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.BooleanType] binding 'false' to parameter: 1
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.IntegerType] binding '1' to parameter: 2
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding 'myCompte' to parameter: 3
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 4
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.DateType] binding '08 octobre 2010' to parameter: 5
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding null to parameter: 6
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding null to parameter: 7
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 8
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 9
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 10
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '---' to parameter: 11
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding 'sfgdfgf' to parameter: 12
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 13
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 14
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding null to parameter: 15
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 16
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.BooleanType] binding 'false' to parameter: 17
    2010-10-08 15:06:49,458 DEBUG [org.hibernate.type.StringType] binding '' to parameter: 18
    2010-10-08 15:06:49,459 DEBUG [org.hibernate.type.IntegerType] binding '1' to parameter: 19
    2010-10-08 15:06:49,459 DEBUG [org.hibernate.type.IntegerType] binding null to parameter: 20
    2010-10-08 15:06:49,459 DEBUG [org.hibernate.type.IntegerType] binding '2' to parameter: 21
    2010-10-08 15:06:49,459 DEBUG [org.hibernate.type.IntegerType] binding '34328' to parameter: 22
    2010-10-08 15:06:49,459 DEBUG [org.hibernate.type.IntegerType] binding '72' to parameter: 23
    2010-10-08 15:06:49,459 DEBUG [org.hibernate.type.IntegerType] binding '1355' to parameter: 24
    2010-10-08 15:06:49,565 DEBUG [org.hibernate.SQL] select this_.ID_COMPTE_EXTERNE as ID1_40_0_, this_.STATUT_COMPTE_EXTERNE as STATUT2_40_0_, this_.TYPE_PAGE_CONNECTION as TYPE3_40_0_, this_.LOGIN as LOGIN40_0_, this_.REPONSE as REPONSE40_0_, this_.DATE_CREATION_COMPTE as DATE6_40_0_, this_.PJ_RIB_FICHIER as PJ7_40_0_, this_.PJ_KBIS_FICHIER as PJ8_40_0_, this_.SIRET as SIRET40_0_, this_.RAISON_SOCIALE as RAISON10_40_0_, this_.VOIE_NUMERO as VOIE11_40_0_, this_.VOIE_NUMERO_CMPLT as VOIE12_40_0_, this_.VOIE_LIBELLE as VOIE13_40_0_, this_.VOIE_CMPLT as VOIE14_40_0_, this_.COMMUNE as COMMUNE40_0_, this_.CODE_INSEE as CODE16_40_0_, this_.CODE_POSTAL as CODE17_40_0_, this_.CEDEX_BOOL as CEDEX18_40_0_, this_.CEDEX_LIBELLE as CEDEX19_40_0_, this_.ID_CODE_PROFIL_EXTERNE as ID20_40_0_, this_.ID_CODE_QUESTION_COMPTE as ID21_40_0_, this_.ID_CODE_TYPE_CONTACT as ID22_40_0_, this_.ID_CODE_COMMUNE_AGENCE as ID23_40_0_, this_.ID_CODE_PAYS as ID24_40_0_ from LAKEHAL.PPP_COMPTE_EXTERNE this_ where this_.LOGIN=?
    2010-10-08 15:06:49,565 DEBUG [org.hibernate.type.StringType] binding 'myCompte' to parameter: 1
    2010-10-08 15:06:49,585 DEBUG [org.hibernate.type.IntegerType] returning '1356' as column: ID1_40_0_

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    est-ce qu'il n'y auais pas,coté oracle, un trigger sur la colonne qui changerais l'id?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Par défaut
    effectivement le problème est du un trigger sur la meme table.
    merci

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

Discussions similaires

  1. Est-ce que la protection par MAC adresse est héritable en cascade ?
    Par clavier12AZQSWX dans le forum Dépannage et Assistance
    Réponses: 7
    Dernier message: 24/09/2012, 13h48
  2. Résultat de ZipEntry différent de celui obtenu par WinZip
    Par yli_ren dans le forum Général Java
    Réponses: 3
    Dernier message: 18/05/2010, 11h30
  3. [SSE/MMX] Résultat en mode débug est différent de celui du mode release
    Par barhili04 dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 08/12/2009, 19h29
  4. Réponses: 1
    Dernier message: 20/02/2007, 09h17
  5. Est-il préférable de commencer par apprendre le C# ?
    Par Troell dans le forum Débuter
    Réponses: 7
    Dernier message: 18/07/2005, 10h05

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