Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Persistance > JPA
JPA Forum d'entraide sur l'API de persistance JPA (Java Persistence API)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/01/2013, 19h35   #1
Johnny P.
Membre du Club
 
Inscription : février 2006
Messages : 194
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 194
Points : 59
Points : 59
Par défaut NullPointerException createQuery JPA

Bonsoir ,

Cela fait un moment que je cherche mais rien à faire j'ai un NullPointerException sur le createQuery.

voici ma fonction
@EJB public EntityManager em;


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
public String login(){
 
        // récupération d'une requête nommée par interrogation 
        // de l'entity manager
        Query query = em.createQuery("SELECT login,mdp FROM utlisateurs u WHERE u.login=:login and u.mdp=:mdp");
         // paramétrage de la requête
        query.setParameter("login",login);
        query.setParameter("mdp",mdp);
        // exécution de la requête
        List res = new LinkedList();
        res = query.getResultList();
        if(query.getResultList().size()!=0) {
           current=new Utlisateurs();
           current.setLogin(res.get(0).toString());
           current.setMdp(res.get(1).toString());      
           return "/index.xhtml";
          }
 
        else {
          setLogin("");
          setMdp("");
          JsfUtil.addErrorMessage(ResourceBundle.getBundle("/Bundle").getString("connecterreur"));
          return "/login/login";
         }
Erreur
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
javax.faces.FacesException: #{utlisateursController.login}: java.lang.NullPointerException
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:680)
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	... 31 more
Caused by: java.lang.NullPointerException
	at com.jsf.UtlisateursController.login(UtlisateursController.java:241)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.sun.el.parser.AstValue.invoke(AstValue.java:254)
	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
	at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
	at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	... 32 more
Une aide sera apprécie merci
Johnny P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2013, 20h26   #2
olivier.pitton
Membre éprouvé
 
Avatar de olivier.pitton
 
Homme olivier pitton
Étudiant
Inscription : juin 2012
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme olivier pitton
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2012
Messages : 210
Points : 439
Points : 439
Pourquoi une annotation @EJB sur un EntityManager ?

L'EntityManager n'est pas un EJB, il faut utiliser l'annotation @PersistenceContext.

Par exemple :

Code :
1
2
3
 
@PersistenceContext(unitName= "toto")
private EntityManager manager;
Où "toto" est le nom donné dans persistence.xml.
olivier.pitton est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 20h05   #3
Johnny P.
Membre du Club
 
Inscription : février 2006
Messages : 194
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 194
Points : 59
Points : 59
Merci mais maintenant j'ai une erreur java.lang.IllegalArgumentException: Unknown entity type [utlisateurs].

j'ai vérifié le nom de mon entity class et c'est le même.
Aurais-tu une idée ?
Johnny P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 22h53   #4
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 278
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 278
Points : 32 754
Points : 32 754
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Probablement a cause de ta faute de frappe :/

"utlisateurs"
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 14h40   #5
Johnny P.
Membre du Club
 
Inscription : février 2006
Messages : 194
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 194
Points : 59
Points : 59
Ha non , tu as mal compris ma table s'appelle bien utlisateurs , c'est une faute de frappe à la création dans ma base de donnée Mysql , mais elle s'appelle bien ainsi , faut pas pousser je l'aurai remarqué

Cependant , il me met toujours ce genre d'erreur dans createQuery ? est-ce que le sql que j'ai fait est mauvais ?

J'avoue que ça devient lassant pourtant tout me semble bon please quoi...
Johnny P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 15h14   #6
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 278
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 278
Points : 32 754
Points : 32 754
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
createQuery prend les noms des objet, pas les noms des tables. Vu que JPA est une abstraction au dessus de ta base de données, tu n'a ps besoin de savoir si la table s'appelle utlisateur ou monkeys tu ce que tu as besoin de savoir c'est que ce sont des instance de Utilisateur qu'on stocke dedans.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h16.


 
 
 
 
Partenaires

Hébergement Web