Bonjour à tous,

je suis actuellement sur un projet GWT/hibernate. Je découvre à la foishibernate et gwt donc je met du temps mais j'avance ^^

J'ai créé ma base, les classes relatives et les fichier .hbm.xml qui vont bien aussi!
J'ai utilisé la librairie gilead pour "interfacer" hibernate et gwt. Jusque la tout fonctionne.

J'arrive à recupérer des données pour charger des menus deroulant ou bien des grid.
Par contre ce que je n'arrive pas à faire c'est récuperer les informations sélectionné ds les menus deroulant et faire une requete pour afficher le resultat ds le grid.

Je m'explique :
j'ai une liste d'objet fournisseur, quand je choisis ds la liste je recupere bien l'objet fournisseur correspondant.
Par contre quand je tente de faire ma requete avec j'ai une exception de levé :


Le code de la requete :

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
 
ArrayList<Wgarticles> ret = new ArrayList<Wgarticles>();
		String motCle="";
		try { 
				String query;
			if(fournisseur==null && famille==null){				
				query="from Wgarticles a inner join fetch a.wgfamilles inner join fetch a.wgmarques";
			}
			else{
				query="from Wgarticles a inner join fetch a.wgfamilles inner join fetch a.wgmarques inner join fetch a.wgfournisseurs where ";
				if(fournisseur!=null){
					query.concat("wgfournisseurs="+fournisseur);
					motCle=" and ";
				}
				if(famille!=null){
					query.concat(motCle+"wgfamilles="+famille);
				}
			}
			ret = (ArrayList<Wgarticles>)s.createQuery(query).list();
 
		    } catch (HibernateException e) { 
		      e.printStackTrace(); 
		    }
l'exception qui est levée :
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
 
7:36:33,968 ERROR LazyInitializationException:42 - illegal access to loading collection
org.hibernate.LazyInitializationException: illegal access to loading collection
	at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:363)
	at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108)
	at org.hibernate.collection.PersistentSet.hashCode(PersistentSet.java:434)
	at winGsmGWT.domain.Wgfamilles.hashCode(Wgfamilles.java:86)
	at winGsmGWT.domain.Wgfamilles.hashCode(Wgfamilles.java:84)
	at java.util.HashMap.put(Unknown Source)
	at java.util.HashSet.add(Unknown Source)
	at java.util.AbstractCollection.addAll(Unknown Source)
	at org.hibernate.collection.PersistentSet.endRead(PersistentSet.java:352)
	at org.hibernate.engine.loading.CollectionLoadContext.endLoadingCollection(CollectionLoadContext.java:260)
	at org.hibernate.engine.loading.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:245)
	at org.hibernate.engine.loading.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:218)
	at org.hibernate.loader.Loader.endCollectionLoad(Loader.java:900)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:888)
	at org.hibernate.loader.Loader.doQuery(Loader.java:752)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	at org.hibernate.loader.Loader.loadCollection(Loader.java:2015)
	at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:59)
	at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:587)
	at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:83)
	at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1743)
	at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:366)
	at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108)
	at org.hibernate.collection.PersistentSet.hashCode(PersistentSet.java:434)
	at winGsmGWT.domain.Wgfamilles.hashCode(Wgfamilles.java:86)
	at java.lang.Object.toString(Object.java:219)
	at java.lang.String.valueOf(Unknown Source)
	at java.lang.StringBuilder.append(Unknown Source)
	at winGsmGWT.server.TestServiceImpl.listeArticles(TestServiceImpl.java:87)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.google.gwt.user.server.rpc.RPCCopy_GWT15.invoke(RPCCopy_GWT15.java:563)
	at com.google.gwt.user.server.rpc.RPCCopy.invoke(RPCCopy.java:134)
	at net.sf.gilead.gwt.PersistentRemoteService.processCall(PersistentRemoteService.java:149)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at com.google.gwt.dev.shell.GWTShellServlet.service(GWTShellServlet.java:289)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	at java.lang.Thread.run(Unknown Source)

Merci,

Romain