Bonjour à tous,

Je cherche le moyen (bestial je sais) de supprimer tous les objets d'une session en cours via des evict()

l'idée serait de faire un evict explicitement sur chaque objet de la session hibernate

J'ai bien trouvé comment supprimer tous les objets du SessionFactory :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SessionFactoryImplementor sessionFactoryImpl = (SessionFactoryImplementor)p_hiberSession.getSessionFactory();
// Every persistent class extends java.lang.Object, so the following call will return all persistent classes
String[] persistentClasses = sessionFactoryImpl.getImplementors("java.lang.Object");
for (String persistentClass : persistentClasses) {
	System.out.println("Evict : "+persistentClass);
	sessionFactoryImpl.evictEntity(persistentClass);
}
Mais cette solution ira supprimer tous les objets partages par toutes les sessions en cours (un peu trop expéditif). je voudrais me limiter à la session en cours, donc à travailler sur la classe Session au lieu de SessionFactory ; mais je n'arrive pas à récupérer tous les objets de la session courante

Quel moyen y a il pour récupérer la liste de tous les objets d'un session donnée ?

Merci,
Patrick.