Bonjour,

Je debute sous hibernate et je voudrais recuperer un object pour le supprimer dans ma base de données en utilisant session.load(Class, Serializable)

Ma methode supprimer est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public void supprimer(int id){
 
		Session session = HibernateUtil.currentSession();
		Transaction tx= session.beginTransaction();
		Object o = (Object)session.load(Object.class, id);
                session.delete(o);
                tx.commit;
}
J'ai deja une erreure sous eclipse me disant :
The method load(Class, Serializable) in the type Session is not applicable for the arguments (Class,
int)

j'ai du mal a comprendre ce qu'il veut en terme de Serializable, mon id est definit dans Object.hbm.xml de cette facon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<id name="id" type="integer" unsaved-value="null" >
            <column name="ID" not-null="true"/>
            <generator class="increment"/>
        </id>
dans ma base de donnée id est aussi de type integer.

En cherchant sur le net j'ai trouvé une autre methode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Session session = HibernateUtil.currentSession();
		Transaction tx= session.beginTransaction();
		List list = session.find("from Object where id="+id);
		Iterator it = list.iterator();
		while(it.hasNext())
		{
		  Object o = (Object)it.next();
		  session.delete(o);
		}
		tx.commit();
Mais je trouve ca pas tres propre et pas tres interessant sachant que la methode load existe.

Est ce que quelqu'un sait pourquoi la methode load refuse mon id?

ps: j'ai essayé de passer par un long (cast de int en long), la je n'ai plus d'erreurs sous eclipse mais j'ai une erreur a l'execution.

Merci par avance

Edenyorke