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]MysQL 5.0 - Récupération ID


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut [Hibernate]MysQL 5.0 - Récupération ID
    Bonjour,
    Je souhaite savoir comment lors de l'insertion en base de données, on peut récupérer l'IDentifiant générer?
    (Cette identifiant correspond à un attribut de ma classe).
    Mici,
    Yoko

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Par défaut
    Un exemple
    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
     
    	public Long createVariable(String value, String description)
    			throws HibernateException {
    		Variable variable = new Variable();
    		variable.setValue(value);
    		variable.setDescription(description);
     
    		checkVariable(variable);
     
    		Session session = getCurrentSession();
    		Transaction tx = null;
    		try {
    			tx = session.beginTransaction();
    			session.persist(variable);
    			tx.commit();
    		} catch (HibernateException hb) {
    			if (tx != null)
    				tx.rollback();
    			throw hb;
    		} finally {
    			session.close();
    		}
    		return variable.getID();
    	}
    De manière general, tu recuperes une reference sur l'objet que tu as crée et sur lequel tu peux faire toutes les manips que tu veux

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    Merci pour ta réponse,
    par rapport au mapping, y a t - il un attribut particulier à spécifier pour l'ID dans le fichier HBM?
    "native", "assigned"...?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <id name="code" type="int">
                <column name="code_canal" />
                <generator class="native" />
            </id>
    Yoko,

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Par défaut
    Tu peux récupérer l'ID généré lors de la sauvegarde !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DomesticCat robert = new DomesticCat(); 
    	robert.setColor(Color.WHITE); 
    	robert.setSex('M'); 
    	robert.setName("Robert"); 
    Long generatedId = (Long) sess.save(robert);

  5. #5
    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
    Pour l'ID, tout dépend de la manière dont tu veux qu'il soit généré. Si tu veux laisser le travail à MySQL, met "native" ou si tu veux vraiment être précis "identity". Hibernate utilisera l'auto-increment défini par ta table.

    "Assigned" est utilisé pour la gestion applicative de l'identifiant ... donc tu aurais ce dernier AVANT la sauvegarde, chose que tu ne veux pas apparemment.

    "Hilo", quant à lui, est un "algorithme" de création d'identifiant mais il nécessite une table supplémentaire en BDD, chose par forcément appréciée.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    Nikel,
    Merci pour ces réponses.
    On peut pas être plus clair.

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

Discussions similaires

  1. [SPRING][HIBERNATE][MYSQL] insert et valeur des champs.
    Par nikalkal dans le forum Hibernate
    Réponses: 9
    Dernier message: 27/04/2006, 14h07
  2. [hibernate][mysql] erreurs
    Par nikalkal dans le forum Hibernate
    Réponses: 1
    Dernier message: 25/04/2006, 17h40
  3. [Hibernate][MySql] probleme de connexion ...
    Par Gromitou dans le forum Hibernate
    Réponses: 6
    Dernier message: 28/02/2006, 15h23
  4. [Hibernate][mysql] SocketPermission
    Par vlord dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/01/2006, 12h25
  5. Hibernate + mySql + Eclipse
    Par Goupil dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 14/02/2005, 14h02

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