Bonjour
j'utilsie jdevelopper 11g pour le service web et oracle XE il contient la table Address (addrid:string ,NUM: long ...).
j'ai ecris dans adresse.java ce named query :et dans adresseSessionEJBean.java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @Entity @NamedQueries({ @NamedQuery(name = "Address.findAll", query = "select o from Address o"), ]NamedQuery(name = "Address.findByid", query = "select o from Address o where o.addrid like :id"), @NamedQuery(name ="Address.FindByNUM", query="select o from Address o where o.NUM like :NUM") })
après avoir fait "test service web'" j'ai eu le HTTP Analyser, quand je choisi la methode findbyid je fais rentré un string : deux , j'ai ces erreurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 /** <code>select o from Address o where o.addrid like :id</code> */ @WebMethod public Address getAddressfindByid(String id) { return (Address)em.createNamedQuery("Address.FindById").setParameter("id", id).getSingleResult(); } /** <code>select o from Address o where o.NUM like :NUM</code> */ @WebMethod public Address getAddressFindByNUM(Long NUM) { return (Address)em.createNamedQuery("Address.findById").setParameter("NUM", NUM).getResultList();
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 Caused by: Exception [EclipseLink-8030] (Eclipse Persistence Services - 1.2.0.v20091016-r5565): org.eclipse.persistence.exceptions.JPQLException Exception Description: Error compiling the query [Address.FindByNUM: select o from Address o where o.NUM like :NUM], line 1, column 32: unknown state or association field [NUM] of class [adresse.Address]. at org.eclipse.persistence.exceptions.JPQLException.unknownAttribute(JPQLException.java:457) at org.eclipse.persistence.internal.jpa.parsing.DotNode.validate(DotNode.java:78) at org.eclipse.persistence.internal.jpa.parsing.LikeNode.validate(LikeNode.java:43) at org.eclipse.persistence.internal.jpa.parsing.WhereNode.validate(WhereNode.java:34) at org.eclipse.persistence.internal.jpa.parsing.ParseTree.validate(ParseTree.java:211) at org.eclipse.persistence.internal.jpa.parsing.ParseTree.validate(ParseTree.java:187) at org.eclipse.persistence.internal.jpa.parsing.ParseTree.validate(ParseTree.java:177) at org.eclipse.persistence.internal.jpa.parsing.JPQLParseTree.populateReadQueryInternal(JPQLParseTree.java:110) at org.eclipse.persistence.internal.jpa.parsing.JPQLParseTree.populateQuery(JPQLParseTree.java:84) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:170) at org.eclipse.persistence.internal.jpa.JPAQuery.processJPQLQuery(JPAQuery.java:106) at org.eclipse.persistence.internal.jpa.JPAQuery.prepare(JPAQuery.java:90) at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:464) at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:430) at org.eclipse.persistence.internal.sessions.AbstractSession.processJPAQueries(AbstractSession.java:1747) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:409) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:671) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:620) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:231) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:269) ... 75 more
je ne sais pas d'où proviens le problème, pourtant la table est bien remplie .
sa persiste depuis une semaine , j'espère que quelqu'un pourra m'aidai , je vous remercie .
Partager