Bonjour à tous,
Je me décide à créer ce topic car j'ai un problème qui me prend la tête depuis de nombreuses heures. Voici mon problème :
J'utilise : EJB 3.0, JBoss avec MySQL
J'obtiens une erreur [JDBCExceptionReporter] invalid schema name: PROJETJ2EE in statement lors de l'exécution de la requête SQL via le code suivant (dans un session bean) :
Voici l'erreur affichée :Code:Object obj = em.createQuery("SELECT m FROM Membre m WHERE LOGIN='" + login + "'").getSingleResult();
L'Entity Bean Membre :Citation:
23:20:28,979 INFO [STDOUT] Hibernate: select membre0_.MEMBRE_ID as MEMBRE1_31_, membre0_.ADRESSE_ID as ADRESSE10_31_, membre0_.EMAIL as EMAIL31_, membre0_.LOGIN as LOGIN31_, membre0_.NAISSANCE as NAISSANCE31_, membre0_.NOM as NOM31_, membre0_.PASSWORD as PASSWORD31_, membre0_.PRENOM as PRENOM31_, membre0_.SEXE as SEXE31_, membre0_.TELEPHONE as TELEPHONE31_ from projetj2ee.membre membre0_ where LOGIN='test' limit ?
23:20:28,981 WARN [JDBCExceptionReporter] SQL Error: -227, SQLState: 3F000
23:20:28,981 ERROR [JDBCExceptionReporter] invalid schema name: PROJETJ2EE in statement [select membre0_.MEMBRE_ID as MEMBRE1_31_, membre0_.ADRESSE_ID as ADRESSE10_31_, membre0_.EMAIL as EMAIL31_, membre0_.LOGIN as LOGIN31_, membre0_.NAISSANCE as NAISSANCE31_, membre0_.NOM as NOM31_, membre0_.PASSWORD as PASSWORD31_, membre0_.PRENOM as PRENOM31_, membre0_.SEXE as SEXE31_, membre0_.TELEPHONE as TELEPHONE31_ from projetj2ee.membre membre0_ where LOGIN='test' limit ?]
23:20:28,981 INFO [CachedConnectionManager] Closing a connection for you. Please close them yourself: org.jboss.resource.adapter.jdbc.jdk5.WrappedConnectionJDK5@60e94b
java.lang.Throwable: STACKTRACE
at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:278)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:524)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:104)
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:43)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573)
at org.hibernate.loader.Loader.doQuery(Loader.java:696)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2228)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:88)
at site.backend.sessions.membre.MembreSession.getMembre(MembreSession.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_12742785.invoke(InvocationContextInterceptor_z_fillMethod_12742785.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_12742785.invoke(InvocationContextInterceptor_z_setup_12742785.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:219)
at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261)
at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
at $Proxy225.getMembre(Unknown Source)
at site.frontend.profil.ActionEnregistrer.doPost(ActionEnregistrer.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:636)
23:20:28,994 ERROR [[ActionEnregistrer]] "Servlet.service()" pour la servlet ActionEnregistrer a g�n�r� une exception
javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute query
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:77)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:219)
at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261)
at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
at $Proxy225.getMembre(Unknown Source)
at site.frontend.profil.ActionEnregistrer.doPost(ActionEnregistrer.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:636)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:128)
at site.backend.sessions.membre.MembreSession.getMembre(MembreSession.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_12742785.invoke(InvocationContextInterceptor_z_fillMethod_12742785.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_12742785.invoke(InvocationContextInterceptor_z_setup_12742785.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
... 43 more
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2231)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:88)
... 76 more
Caused by: java.sql.SQLException: invalid schema name: PROJETJ2EE in statement [select membre0_.MEMBRE_ID as MEMBRE1_31_, membre0_.ADRESSE_ID as ADRESSE10_31_, membre0_.EMAIL as EMAIL31_, membre0_.LOGIN as LOGIN31_, membre0_.NAISSANCE as NAISSANCE31_, membre0_.NOM as NOM31_, membre0_.PASSWORD as PASSWORD31_, membre0_.PRENOM as PRENOM31_, membre0_.SEXE as SEXE31_, membre0_.TELEPHONE as TELEPHONE31_ from projetj2ee.membre membre0_ where LOGIN='test' limit ?]
at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:465)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:453)
at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:243)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573)
at org.hibernate.loader.Loader.doQuery(Loader.java:696)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2228)
... 84 more
Et le SessionBean MembreSession :Code:
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366 package site.backend.entities.membre; import java.io.Serializable; import java.util.Date; import java.util.Set; import java.util.TreeSet; import javax.persistence.*; import site.backend.entities.communication.Commentaire; import site.backend.entities.communication.Discussion; import site.backend.entities.genericite.Adresse; import site.backend.entities.location.Location; import site.backend.entities.maison.Maison; @Entity @Table(schema = "projetj2ee", name = "membre") public class Membre implements Serializable { @Transient private static final long serialVersionUID = 1L; @Basic @Column(name = "NOM") private String nom; @Basic @Column(name = "PRENOM") private String prenom; public enum Sexe { Femme, Homme, Inconnu }; @Basic @Column(name = "SEXE") private Sexe sexe; @Basic @Temporal(TemporalType.DATE) @Column(name = "NAISSANCE") private Date naissance; @ManyToOne(cascade = CascadeType.MERGE) @JoinColumn(name = "ADRESSE_ID", referencedColumnName = "ADRESSE_ID") // Unidirectionnel private Adresse adresse; @Basic @Column(name = "EMAIL") private String email; @Basic @Column(name = "TELEPHONE") private long telephone; @Basic @Column(name = "LOGIN") private String login; @Basic @Column(name = "PASSWORD") private String password; @OneToMany(targetEntity = Location.class, mappedBy = "locataire", cascade = CascadeType.MERGE) private Set<Location> locations; @ManyToMany(targetEntity = Maison.class, cascade = CascadeType.MERGE) @JoinTable(name = "favoris_des_membres", schema = "projetj2ee", inverseJoinColumns = @JoinColumn(name = "MAISON_ID"), joinColumns = @JoinColumn(name = "MEMBRE_ID")) private Set<Maison> favoris; @ManyToMany(targetEntity = Discussion.class, mappedBy = "participants", cascade = CascadeType.MERGE) private Set<Discussion> discussions; @OneToMany(targetEntity = Maison.class, mappedBy = "proprietaire", cascade = CascadeType.MERGE) private Set<Maison> proprietesLocatives; @Id @Column(name = "MEMBRE_ID") @GeneratedValue(strategy = GenerationType.AUTO) private long id; /** * @param nom * @param prenom * @param sexe * @param naissance * @param adresse * @param email * @param telephone * @param login * @param password */ public Membre(String nom, String prenom, Sexe sexe, Date naissance, Adresse adresse, String email, long telephone, String login, String password) { super(); this.nom = nom; this.prenom = prenom; this.sexe = sexe; this.naissance = naissance; this.adresse = adresse; this.email = email; this.telephone = telephone; this.login = login; this.password = password; this.discussions = new TreeSet<Discussion>(); this.favoris = new TreeSet<Maison>(); this.locations = new TreeSet<Location>(); } /** * */ public Membre() { this(null, null, null, null, null, null, 0, null, null); } public Membre(String nom, String prenom, String email, String login, String password) { super(); this.nom = nom; this.prenom = prenom; this.email = email; this.login = login; this.password = password; } /** * @return the nom */ public String getNom() { return nom; } /** * @param nom * the nom to set */ public void setNom(String nom) { this.nom = nom; } /** * @return the prenom */ public String getPrenom() { return prenom; } /** * @param prenom * the prenom to set */ public void setPrenom(String prenom) { this.prenom = prenom; } /** * @return the sexe */ public Sexe getSexe() { return sexe; } /** * @param sexe * the sexe to set */ public void setSexe(Sexe sexe) { this.sexe = sexe; } /** * @return the naissance */ public Date getNaissance() { return naissance; } /** * @param naissance * the naissance to set */ public void setNaissance(Date naissance) { this.naissance = naissance; } /** * @return the adresse */ public Adresse getAdresse() { return adresse; } /** * @param adresse * the adresse to set */ public void setAdresse(Adresse adresse) { this.adresse = adresse; } /** * @return the email */ public String getEmail() { return email; } /** * @param email * the email to set */ public void setEmail(String email) { this.email = email; } /** * @return the telephone */ public long getTelephone() { return telephone; } /** * @param telephone * the telephone to set */ public void setTelephone(long telephone) { this.telephone = telephone; } /** * @return the login */ public String getLogin() { return login; } /** * @param login * the login to set */ public void setLogin(String login) { this.login = login; } /** * @return the password */ public String getPassword() { return password; } /** * @param password * the password to set */ public void setPassword(String password) { this.password = password; } /** * @return the noteMoyenne */ public double getNoteMoyenne() { double somme = -1; int nb = 1; for (Location loc : this.locations) { Commentaire comm = loc.getCommentaireMembre(); if (comm != null) { if (somme == -1) { // On ajoute 1 pour compenser le -1 du départ qui attend la première note. somme = 1+comm.getNote(); } else { somme += comm.getNote(); nb++; } } } return somme / nb; } /** * @return the locations */ public Set<Location> getLocations() { return locations; } /** * @param locations * the locations to set */ public void setLocations(Set<Location> locations) { this.locations = locations; } /** * @return the favoris */ public Set<Maison> getFavoris() { return favoris; } /** * @param favoris * the favoris to set */ public void setFavoris(Set<Maison> favoris) { this.favoris = favoris; } /** * @return the discussions */ public Set<Discussion> getDiscussions() { return discussions; } /** * @param discussions * the discussions to set */ public void setDiscussions(Set<Discussion> discussions) { this.discussions = discussions; } /** * @return the proprietesLocatives */ public Set<Maison> getProprietesLocatives() { return proprietesLocatives; } /** * @param proprietesLocatives * the proprietesLocatives to set */ public void setProprietesLocatives(Set<Maison> proprietesLocatives) { this.proprietesLocatives = proprietesLocatives; } public long getId() { return id; } public void setId(long id) { this.id = id; } public static long getSerialversionuid() { return serialVersionUID; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Membre other = (Membre) obj; if (id != other.id) return false; return true; } }
Code:
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 package site.backend.sessions.membre; import java.util.Date; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import site.backend.entities.communication.Discussion; import site.backend.entities.genericite.Adresse; import site.backend.entities.location.Location; import site.backend.entities.maison.Maison; import site.backend.entities.membre.Membre; import site.backend.entities.membre.Membre.Sexe; @Stateless public class MembreSession implements MembreSessionInterface { @PersistenceContext private EntityManager em; public MembreSession() {} public Membre creerMembre(String nom, String prenom, Sexe sexe, Date naissance, Adresse adresse, String email, long telephone, String login, String password) { Membre membre = new Membre(nom, prenom, sexe, naissance, adresse, email, telephone, login, password); em.persist(membre); return membre; } public Membre creerMembre(String nom, String prenom, String email, String login, String password) { Membre membre = new Membre(nom, prenom, email, login, password); em.persist(membre); return membre; } public void modifierMembre(Membre membre, String nom, String prenom, Sexe sexe, Date naissance, Adresse adresse, String email, long telephone, String login, String password) { membre.setNom(nom); membre.setPrenom(prenom); membre.setSexe(sexe); membre.setNaissance(naissance); membre.setAdresse(adresse); membre.setEmail(email); membre.setTelephone(telephone); membre.setLogin(login); membre.setPassword(password); em.merge(membre); } public Membre getMembre(String login) { Object obj = em.createQuery("SELECT m FROM Membre m WHERE LOGIN='" + login + "'").getSingleResult(); if (obj == null) { return null; } Membre membre = (Membre) obj; return membre; } // ....etc
J'ai bien sûr vérifié que les tables sont correctement créées, que le nom de la base (schema) est bien projetj2ee... Tout est ok.
Je ne sais vraiment pas d'où peut provenir l'erreur. Merci de votre aide ;)