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