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] Generer une clef avec notre propre générateur


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Par défaut [HIBERNATE] Generer une clef avec notre propre générateur
    Re bonjour,

    Bon au début je pensais que mon erreur était du a ma requete sql, d'ou mon message précédent, mais il semblerait que non ...

    Voilà, je souhaiterait générer mes propre clef pour mes objets mais je dois récupérer une valeur dans la base pour cela et c'est que ca plante, car quand il tente de lancer ma requete SQL il semble boucler, est ce que quelqu'un aurait une idée???

    Voici ma classe pour générer mes clef :

    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
    29
    30
    31
    package util;
     
    import java.io.Serializable;
     
    import org.hibernate.Hibernate;
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.hibernate.engine.SessionImplementor;
    import org.hibernate.id.IdentifierGenerator;
     
    public class GenerateId implements IdentifierGenerator{
    	public Serializable generate(SessionImplementor arg0, Object arg1) throws HibernateException {
    		Long a = null;
    		//Session session =  HibernateUtil.getSessionFactory().getCurrentSession();
        	//session.beginTransaction();
     
        	/*a = (Long)session.createSQLQuery("select max(ADRESSE_ID) as test from ADRESSE adr")
    		.addScalar("test",Hibernate.LONG).uniqueResult();
        	*/
    		a = (Long)arg0.getFactory().getCurrentSession().createSQLQuery("select max(ADRESSE_ID) as test from ADRESSE adr")
    		.addScalar("test",Hibernate.LONG)
    		.uniqueResult();
    		a = new Long(a.longValue() + 1);
    		System.out.println("Long a = " + a.longValue());
     
        	//session.getTransaction().commit();
     
        	return a;
    	}
     
    }

    Ceci est une classe de test

    Merci

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, qu'est-ce que tu veux dire par ma requete SQL il semble boucler ? Tu as message d'erreur ? Le script bloque lors du test ?...

    Sinon, tu peux jeter un oeil dans la doc de référence de Hibernate : http://www.hibernate.org/hib_docs/v3...ria-projection

Discussions similaires

  1. Update d'une table avec ses propres données
    Par matt41 dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/06/2012, 19h59
  2. generer une clef de session AES 128
    Par ikuzar dans le forum Sécurité
    Réponses: 1
    Dernier message: 26/04/2011, 20h15
  3. generer une dll avec MVC et l'utiliser avec MinGW
    Par elraton dans le forum Débuter
    Réponses: 5
    Dernier message: 30/06/2009, 11h03
  4. [Hibernate] Faire une requête avec relation NN
    Par n@n¤u dans le forum Hibernate
    Réponses: 20
    Dernier message: 25/07/2006, 10h39
  5. Peut-on avoir une clef avec Base64 en PHP ?
    Par maty2006 dans le forum Langage
    Réponses: 4
    Dernier message: 30/05/2006, 12h38

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