IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

null pointer exception


Sujet :

Hibernate Java

  1. #1
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 654
    Points : 410
    Points
    410
    Par défaut null pointer exception
    Bonjour pouvez vous m'aider ?
    je n'ai pas de session.il y a a la place null pointer exception

    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
    Candidat candidat = new Candidat();
     
    		candidat.setAge(age);
    		candidat.setConfirme("non");
    		candidat.setDepartement(departement);
    		candidat.setEmail(email);
    		candidat.setLogin(login);
    		candidat.setNom(nom);
    		candidat.setPrenom(prenom);
    		candidat.setPassword(password);
    		candidat.setPasswordconfirme(passwordconfirme);
    		candidat.setSex(sex);
    		candidat.setProfession(profession);
     
    		try {if (HibernateSessionFactory.getSession().createSQLQuery("select max(idcandidat)  from Candidat")==null) {candidat.setIdcandidat(Integer.valueOf(1));HibernateSessionFactory.getSession().close();} 
    		else {candidat.setIdcandidat(getIdcandidat()+Integer.valueOf(1));HibernateSessionFactory.getSession().close();}
    		} catch (Exception e) {candidat.setIdcandidat(Integer.valueOf(1));}
     
    		HibernateSessionFactory.closeSession();
     
    		CandidatDAO dao = new CandidatDAO();
     
    		Transaction  tx =  dao.getSession().getTransaction();  <=> icii null pointer exception
     
    		tx =  dao.getSession().beginTransaction();
     
    		dao.save(candidat);
     
    		tx.commit();
     
    		dao.getSession().close();

  2. #2
    Membre actif
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Points : 276
    Points
    276
    Par défaut
    Salut
    La stacktrace stp ca aide
    Et le code de la classe CandidatDAO
    merci

    et pense a utiliser les balises [ CODE ]
    Non, Vahid n'est pas mon prénom
    c' est gratuit , aussi

  3. #3
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 654
    Points : 410
    Points
    410
    Par défaut
    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
    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
    public class CandidatDAO extends BaseHibernateDAO {
    	private static final Log log = LogFactory.getLog(CandidatDAO.class);
    	// property constants
    	public static final String LOGIN = "login";
    	public static final String PASSWORD = "password";
    	public static final String PASSWORDCONFIRME = "passwordconfirme";
    	public static final String EMAIL = "email";
    	public static final String CONFIRME = "confirme";
    	public static final String NOM = "nom";
    	public static final String PRENOM = "prenom";
    	public static final String SEX = "sex";
    	public static final String AGE = "age";
    	public static final String PROFESSION = "profession";
    	public static final String DEPARTEMENT = "departement";
     
    	public void save(Candidat transientInstance) {
    		log.debug("saving Candidat instance");
    		try {
    			getSession().save(transientInstance);
    			log.debug("save successful");
    		} catch (RuntimeException re) {
    			log.error("save failed", re);
    			throw re;
    		}
    	}
     
    	public void delete(Candidat persistentInstance) {
    		log.debug("deleting Candidat instance");
    		try {
    			getSession().delete(persistentInstance);
    			log.debug("delete successful");
    		} catch (RuntimeException re) {
    			log.error("delete failed", re);
    			throw re;
    		}
    	}
     
    	public Candidat findById(java.lang.Integer id) {
    		log.debug("getting Candidat instance with id: " + id);
    		try {
    			Candidat instance = (Candidat) getSession().get("entity.Candidat",
    					id);
    			return instance;
    		} catch (RuntimeException re) {
    			log.error("get failed", re);
    			throw re;
    		}
    	}
     
    	public List findByExample(Candidat instance) {
    		log.debug("finding Candidat instance by example");
    		try {
    			List results = getSession().createCriteria("entity.Candidat").add(
    					Example.create(instance)).list();
    			log.debug("find by example successful, result size: "
    					+ results.size());
    			return results;
    		} catch (RuntimeException re) {
    			log.error("find by example failed", re);
    			throw re;
    		}
    	}
     
    	public List findByProperty(String propertyName, Object value) {
    		log.debug("finding Candidat instance with property: " + propertyName
    				+ ", value: " + value);
    		try {
    			String queryString = "from Candidat as model where model."
    					+ propertyName + "= ?";
    			Query queryObject = getSession().createQuery(queryString);
    			queryObject.setParameter(0, value);
    			return queryObject.list();
    		} catch (RuntimeException re) {
    			log.error("find by property name failed", re);
    			throw re;
    		}
    	}
     
    	public List findByLogin(Object login) {
    		return findByProperty(LOGIN, login);
    	}
     
    	public List findByPassword(Object password) {
    		return findByProperty(PASSWORD, password);
    	}
     
    	public List findByPasswordconfirme(Object passwordconfirme) {
    		return findByProperty(PASSWORDCONFIRME, passwordconfirme);
    	}
     
    	public List findByEmail(Object email) {
    		return findByProperty(EMAIL, email);
    	}
     
    	public List findByConfirme(Object confirme) {
    		return findByProperty(CONFIRME, confirme);
    	}
     
    	public List findByNom(Object nom) {
    		return findByProperty(NOM, nom);
    	}
     
    	public List findByPrenom(Object prenom) {
    		return findByProperty(PRENOM, prenom);
    	}
     
    	public List findBySex(Object sex) {
    		return findByProperty(SEX, sex);
    	}
     
    	public List findByAge(Object age) {
    		return findByProperty(AGE, age);
    	}
     
    	public List findByProfession(Object profession) {
    		return findByProperty(PROFESSION, profession);
    	}
     
    	public List findByDepartement(Object departement) {
    		return findByProperty(DEPARTEMENT, departement);
    	}
     
    	public List findAll() {
    		log.debug("finding all Candidat instances");
    		try {
    			String queryString = "from Candidat";
    			Query queryObject = getSession().createQuery(queryString);
    			return queryObject.list();
    		} catch (RuntimeException re) {
    			log.error("find all failed", re);
    			throw re;
    		}
    	}
     
    	public Candidat merge(Candidat detachedInstance) {
    		log.debug("merging Candidat instance");
    		try {
    			Candidat result = (Candidat) getSession().merge(detachedInstance);
    			log.debug("merge successful");
    			return result;
    		} catch (RuntimeException re) {
    			log.error("merge failed", re);
    			throw re;
    		}
    	}
     
    	public void attachDirty(Candidat instance) {
    		log.debug("attaching dirty Candidat instance");
    		try {
    			getSession().saveOrUpdate(instance);
    			log.debug("attach successful");
    		} catch (RuntimeException re) {
    			log.error("attach failed", re);
    			throw re;
    		}
    	}
     
    	public void attachClean(Candidat instance) {
    		log.debug("attaching clean Candidat instance");
    		try {
    			getSession().lock(instance, LockMode.NONE);
    			log.debug("attach successful");
    		} catch (RuntimeException re) {
    			log.error("attach failed", re);
    			throw re;
    		}
    	}
     
     
     
    [#|2007-07-28T21:58:17.140+0200|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=12;_ThreadName=httpWorkerThread-8080-1;_RequestID=b06e2d90-69b1-409f-9011-da1ff38c7474;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
    java.lang.NullPointerException
    	at controleur.EnregistrementCandidat.enregistrer(EnregistrementCandidat.java:60)
    	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:151)
    	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
    	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
    	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:96)
    	at javax.faces.component.UICommand.broadcast(UICommand.java:383)
    	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:450)
    	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:759)
    	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
    	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
    	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    	at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
    	at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
    	at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
    	at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
    	at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
    	at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
    	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
    	at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

  4. #4
    Membre actif
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Points : 276
    Points
    276
    Par défaut
    Bon den deja c pas dans cette classe mais dans ta classe
    controleur.EnregistrementCandidat.enregistrer(EnregistrementCandidat.java:60)
    ligne 60

    UTILISE CODE (le # dans la toolbar d ecriture)
    Non, Vahid n'est pas mon prénom
    c' est gratuit , aussi

  5. #5
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 654
    Points : 410
    Points
    410
    Par défaut
    Merci pour ton attention, je te redonnes le code erroné bien sur avec la balise code #, désolé pour avant.
    Par mainte tentative, j ai decouvert que j avais la session mais pas la transaction je ne sais pas pourquoi ?
    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 String enregistrer() {
     
    		Candidat candidat = new Candidat();
     
    		try {if (HibernateSessionFactory.getSession().createSQLQuery("select max(idcandidat)  from Candidat")==null) {candidat.setIdcandidat(Integer.valueOf(1));} 
    		else {candidat.setIdcandidat(getIdcandidat()+Integer.valueOf(1));}
    		} catch (Exception e) {candidat.setIdcandidat(Integer.valueOf(1));}
     
    		candidat.setLogin(getLogin());
    		candidat.setPassword(getPassword());
    		candidat.setPasswordconfirme(getPasswordconfirme());
    		candidat.setEmail(getEmail());
    		candidat.setConfirme("non");
    		candidat.setNom(getNom());
    		candidat.setPrenom(getPrenom());
    		candidat.setSex(getSex());
    		candidat.setAge(getAge());
    		candidat.setProfession(getProfession());
    		candidat.setDepartement(getDepartement());
     
     
    		CandidatDAO dao = new CandidatDAO();
     
    		Transaction tx =  dao.getSession().beginTransaction();<=>ici il y a null pointer
     
     
    		dao.save(candidat);
     
    		tx.commit();
     
    		dao.getSession().close();
     
     
    		//if (!getPassword().equals(getPasswordconfirme())) {return "";} else {
    		Confirmation(email,getIdcandidat());
    		return "accueil";}//}
    Merci pour ton aide Philippe.

  6. #6
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 654
    Points : 410
    Points
    410
    Par défaut
    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
     public class EnregistrementCandidat {
     
    	private Integer idcandidat;
    	private String login,password,passwordconfirme,email,confirme;
    	private String nom,prenom,sex,departement,profession;
    	private Integer age;
    	private Set participers;
     
    	public Set getParticipers() {
    		return participers;
    	}
     
     
    	public void setParticipers(Set participers) {
    		this.participers = participers;
    	}
     
     
    	public String enregistrer() {
     
    		Candidat candidat = new Candidat();
     
    		try {if (HibernateSessionFactory.getSession().createSQLQuery("select max(idcandidat)  from Candidat")==null) {candidat.setIdcandidat(Integer.valueOf(1));} 
    		else {candidat.setIdcandidat(getIdcandidat()+Integer.valueOf(1));}
    		} catch (Exception e) {candidat.setIdcandidat(Integer.valueOf(1));}
     
    		candidat.setLogin(getLogin());
    		candidat.setPassword(getPassword());
    		candidat.setPasswordconfirme(getPasswordconfirme());
    		candidat.setEmail(getEmail());
    		candidat.setConfirme("non");
    		candidat.setNom(getNom());
    		candidat.setPrenom(getPrenom());
    		candidat.setSex(getSex());
    		candidat.setAge(getAge());
    		candidat.setProfession(getProfession());
    		candidat.setDepartement(getDepartement());
    		candidat.setParticipers(null); <=> solution	
     
    		CandidatDAO dao = new CandidatDAO();
     
    		Transaction tx =  dao.getSession().beginTransaction();
     
     
    		dao.save(candidat);
     
    		tx.commit();
     
    		dao.getSession().close();
     
     
    		//if (!getPassword().equals(getPasswordconfirme())) {return "";} else {
    		Confirmation(email,getIdcandidat());
    		return "accueil";}//}

    Ca y est maintenant ca marche. L'erreure est toute simple tout les champs n'étaient pas remplis, il manquait participer qui fait partie d un identifiant de relation. Or je n'avais pas penser que cette identifiant peut être null si il n 'y a pas de relation. Apres modification vers null possible la transaction est accepter.
    En fait la transaction sert à la persistance des donner or si vous avez 10 champs dans la basse de donnée, les dix champs doivent être remplis sinon la transaction le mapping ne fonctionnne pas.
    Voilà j ai appris et j'espère avoir apporter une pierre dans l'édifice. Merci Vadhi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tomcat 5.5 Null Pointer Exception
    Par nono44200 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/04/2007, 10h00
  2. Null pointer Exception pour ma Fenetre
    Par LeXo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 22/01/2007, 09h17
  3. Null Pointer Exception
    Par gloglo dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2006, 11h32
  4. [Struts] Null Pointer Exception
    Par n@n¤u dans le forum Struts 1
    Réponses: 1
    Dernier message: 01/08/2006, 13h10
  5. Null Pointer Exception
    Par snouppy dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/06/2006, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo