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

Spring Java Discussion :

Comment récuper l'identifiant d'un objet crée après un saveOrUpdate


Sujet :

Spring Java

  1. #1
    Membre averti
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Par défaut Comment récuper l'identifiant d'un objet crée après un saveOrUpdate
    Bonjour,

    J'utilise spring et je fais sur un HibernateTemplate un saveOrUpdate d'un bean pour le sauver Lorsque l'objet est crée en base de donnée j'aimerai qu'il me mette à jour l'identifiant ou au moins pouvoir récuperer cet identifiant.

    Actuellement après mon saveOrUpdate j'ai l'identifiant de mon bean qui garde la unsaved-value.

    ++ et merci d'avance.

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    De la même manière que tu le fais lors d'une query sql ...

    tout dépend de ta bd

    et il faut placer le tout dans une transaction ...

  3. #3
    Membre averti
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Par défaut
    Merci de ta reponse mais je crois que tu n'as pas compris mon problème ou que je n'ai pas compris ta réponse ^^.

    J'ai une classe personne avec tt le hibernate et le spring qui va bien. Dans cette classe personne j'ai un attribut id. Il a pour unsaved-value 0 et c'est hibernate qui se débrouille pour choisir l'identifiant lors de l'ajout donc ce n'est pas moi qui le fixe. Le seul champs qui me permet d'identifier une personne de maniere unique est cet id que je n'ai pas lors de l'ajout. Donc ma question est comment le récuperer ? Au debut je pensai que hibernate le mettrai a jour dans mon objet apres l'ajout mais ce n'est pas le cas. j'ai indiqué a hibernate de me gérer les identifiants en utilisant une sequence, dans mon service je dois fre l'ajout puis récuperer l'identifiant actuel de la sequence et faire - 1 pour avoir l'identifiant de mon objet ? (je peux fre ca car une transaction est atomique ?) si oui comment manipuler la sequence dans mon service.

    ++ et merci

  4. #4
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut
    Je pense qu'un extrait de ton code qui pose problème ne serait pas de trop....
    Comment fais-tu le saveOrUpdate() ?

  5. #5
    Membre averti
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Par défaut
    Mon code est tres simple, dans le dao j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getHibernateTemplate().saveOrUpdate(personne);
    personne est de le classe PersonBean qui est persistante. Mon dao herite de org.springframework.orm.hibernate3.support.HibernateDaoSupport

    merci d'avance.

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/05/2010, 17h13
  2. [VB.Net 2.0] Comment récuperer le nom d'un objet pour le modifier ?
    Par pti_pierrot dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/07/2006, 13h46
  3. Réponses: 2
    Dernier message: 11/05/2006, 10h47
  4. [Vb.net] Indexé un objet crée dans une boucle
    Par picpic dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/12/2003, 14h37
  5. Comment detecter le type d'un objet?
    Par nickylarson dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/06/2003, 15h23

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