Bonsoir à tous,

J’utilise Beanlib dans un projet GWT, mais malheureusement, cette librairie n’a que très peu de documentation, et là je sèche sur un point.

Je me sers de Beanlib pour détacher un objet d’Hibernate.
Ceci est très simple, sauf quand l’objet en question contient une liste d’objets, qui font référence au premier . Dans ce cas là les objets s’appel récursivement,

et cela n’en fini plus de bouclé…

Un petit 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
25
26
27
28
29
30
31
32
33
34
35
36
public class A {
	private long id;
	private List<B> bs;
	....
}
 
public class B {
	private long id;
	private A a;
	....
}
 
public class objetADao() {
 
public A getA(idDeA) {
	Session session = sessionFactory.getCurrentSession();
 
	Criteria crit = session.createCriteria(A.class);
	crit.add(Restrictions.eq("id", idDeA) );
 
	A a = (A) crit.uniqueResult();
 
	Class<?>[] entityClasses = { A.class, B.class };
 
	Set<Class<?>> entityClassSet = new HashSet<Class<?>>(Arrays.asList(entityClasses));
	CollectionPropertyName<?>[] colProps = {
		new CollectionPropertyName(A.class, "bs")
	};
	Set<? extends CollectionPropertyName<?>> collectionPropertyNameSet = new HashSet<CollectionPropertyName<?>>(Arrays.asList(colProps));
HibernateBeanReplicator r = new Hibernate3BeanReplicator(entityClassSet, collectionPropertyNameSet, null);
 
	a = r.deepCopy(a);
 
	return a;
}
}
dans l'exemple j'utilise la méthode deepCopy, car la méthode copy fait planter le code systématiquement.

Je ne voie vraiment pas comment procéder pour que cela fonctionne.

Si l'un de vous n'a ne serais se qu'une piste de recherche, je suis preneur.

Je vous remercie de votre aide par avance!