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 :

forcage incrémentation automatique


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Par défaut forcage incrémentation automatique
    Bonjour,
    J'ai dans ma base de données, une table 'Projets' avec une clé primaire s'incrémentant automatiquement. Cette clé est déclarée dans mon mapping comme ceci :
    Code :

    <id name="IdProjet" type="integer" column="ID_PROJET" > <generator class="vm"/> </id>


    J'aimerai pouvoir effectuer des insertions dans cette table en forcant parfois l'IdProjet, c'est à dire en contournant l'incrémentation automatique.
    Lorsque j'exécute une requête de ce type dans phpMyAdmin, ceci fonctionne. Par contre, lorsque j'exécute cette requête par hibernate, le forcage ne marche pas et l'Id s'incrémente automatiquement.
    Savez vous comment faire, ou si il y a un paramètre dans le mapping à changer pour que ca fonctionne?
    Merci d'avance

  2. #2
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    Tu ne peux pas changer/alterner les stratégies en cours d'utilisation. Si tu veux une incrementation automatique, prend une classe d'affectation ou bien la méthode native du SGBDR ou alors tu optes pour un "assigned" qui te demande de gérer toi même l'identifiant.

    Le problème de l'incrémentation automatique est que le paramètre lors de l'insert est absent ... donc ca signifierait changer de requete d'insertion, chose qu'hibernate ne pourra pas faire. Je te proposerai dès lors de mettre "assigned" et de gérer toi même l'affectation, soit avec un identifiant que tu choisiras, soit avec un "select max(id) from table".

    Sinon, je ne vois pas d'autre possibilité.

Discussions similaires

  1. Incrémentation automatique
    Par otravaglini dans le forum Access
    Réponses: 6
    Dernier message: 28/06/2006, 10h20
  2. Incrémentation automatique entre 2 chiffres
    Par fordiste dans le forum Access
    Réponses: 2
    Dernier message: 24/06/2006, 06h33
  3. Problème d'incrémentation automatique
    Par ist2008 dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 20h21
  4. Problème d'incrémentation automatique
    Par ist2008 dans le forum Access
    Réponses: 1
    Dernier message: 19/04/2006, 14h30
  5. incrémenter automatiquement un champ d'un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 8
    Dernier message: 01/09/2005, 08h42

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