-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Erreur java.lang.NullPointerException hibernate
PostPosted: Thu Mar 06, 2008 5:18 am 
Newbie

Joined: Thu Mar 06, 2008 5:08 am
Posts: 3
bonjour tt le monde ,
je ss entrain de developper une application Struts , mysql , hibernate , voisci le code de mon action
Code:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.action;
import com.myeclipse.hibernate.*;
import java.util.*;


import org.hibernate.Transaction;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.*;
import com.yourcompany.struts.form.CandidatInscriptionForm;

/**
* MyEclipse Struts
* Creation date: 02-25-2008
*
* XDoclet definition:
* @struts.action path="/candidatInscription" name="candidatInscriptionForm" input="/form/candidatInscription.jsp" scope="request" validate="true"
*/
public class CandidatInscriptionAction extends Action {
   /*
    * Generated Methods
    */

   /**
    * Method execute
    * @param mapping
    * @param form
    * @param request
    * @param response
    * @return ActionForward
    */
   public ActionForward execute(ActionMapping mapping, ActionForm form,
         HttpServletRequest request, HttpServletResponse response) {
       CandidatInscriptionForm candidatInscriptionForm = (CandidatInscriptionForm) form;// TODO Auto-generated method stub
      
      // Recuperation des donnée du formulaire
      
       String courriel=candidatInscriptionForm.getTXT_Courriel();
       String password=candidatInscriptionForm.getTXT_MotDePasse();
       int civilite=candidatInscriptionForm.getDDL_Civilite();
       String nom=candidatInscriptionForm.getTXT_Nom();
       String prenom=candidatInscriptionForm.getTXT_Prenom();
       int jour=candidatInscriptionForm.getTXT_JourNaissance();
       int mois=candidatInscriptionForm.getDDL_MoisNaissance();
       int annee=candidatInscriptionForm.getDDL_AnneeNaissance();
       String adresse=candidatInscriptionForm.getTXT_Adresse();
       String code_postal=candidatInscriptionForm.getTXT_CodePostal();
       String ville=candidatInscriptionForm.getTXT_Ville();
       Integer pays=candidatInscriptionForm.getDDL_Pays();
       String fixe=candidatInscriptionForm.getTXT_TelephoneFixe();
       String mobile=candidatInscriptionForm.getTXT_TelephonePortable();
       int situation=candidatInscriptionForm.getDDL_SituationProfessionnelle();
       int type=candidatInscriptionForm.getCBL_TypeContact();
       Date date= new Date(annee,mois,jour);
      
      
      
      
       // initialisation de l'utilisateur
      
          Date d = new Date();
         oxy_utilisateur utilisateur = new oxy_utilisateur();
         utilisateur.setIdUtilisateur(1);
         utilisateur.setEmailUtilisateur(courriel);
         utilisateur.setPasswordUtilisateur(password);
         utilisateur.setNomUtilisateur(nom);
         utilisateur.setPrenomUtilisateur(prenom);
         utilisateur.setCreationUtilisateur(d);
         
         
         oxy_candidat candidat = new oxy_candidat();
         candidat.setIdCandidat(1);
         candidat.setIdUtilisateur(utilisateur.getIdUtilisateur());
         candidat.setIdCivilite(civilite);
         candidat.setDateNaissanceCandidat(date);
         candidat.setAdresseCandidat(adresse);
         candidat.setCodePostalCandidat(code_postal);
         candidat.setVilleCandidat(ville);
         candidat.setIdPays(pays);
         candidat.setTelephoneFixeCandidat(fixe);
         candidat.setTelephoneMobileCandidat(mobile);
         candidat.setIdTypeContact(type);
         
         
         // 2. Create DAO
         oxy_candidatDAO dao = new oxy_candidatDAO();
         oxy_utilisateurDAO dao1= new oxy_utilisateurDAO();
         // 3. Start the transaction
         Transaction tx = dao.getSession().beginTransaction();
         Transaction tx1= dao1.getSession().beginTransaction();
         // 4. Add user
         dao.save(candidat);
         dao1.save(utilisateur);
         
         // 5. Commit the transaction (write to database)
         tx.commit();
         tx1.commit();
         // 6. Close the session (cleanup connections)
         dao.getSession().close();
          dao1.getSession().close();
      
      
      
      
      
      
      
      
      
      
      
      
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
      return mapping.findForward("success");
      
   }
   
   
   // Ajout Candidat

}

et voici le message d'erreur:
Code:
Etat HTTP 500 -

--------------------------------------------------------------------------------

type Rapport d'exception

message

description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

exception

javax.servlet.ServletException
   org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
   org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
   org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


cause mère

java.lang.NullPointerException
   com.yourcompany.struts.action.CandidatInscriptionAction.execute(CandidatInscriptionAction.java:98)
   org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
   org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.17.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.17

je pense que le probleme vient de la ligne 98 d'apres le message d'erreur:
Transaction tx = dao.getSession().beginTransaction();

helpppppppppppppppppppppppppppp


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 06, 2008 4:26 pm 
Beginner
Beginner

Joined: Thu Jan 31, 2008 6:35 am
Posts: 27
SOS NullPointerException bonjour !

Tu ne nous aide pas beaucoup avec tes traces...
A premiere vue ton getSession retourne null, donc pour ouvrir une transaction c'est dur.

Il faut donc regarder ton fichier de config hibernate et ta classe oxy_candidatDAO.
J'ai aussi du mal à comprendre pourquoi tu ouvres deux transactions...


Petite remarque en passant : fais attention au nommage de tes classes, meme si tu n'applique pas 100% des règles de codage sun... il y a un minimum ( pas de _ dans les noms de classes, il doit commencer par une majuscule, etc...)

Samuel


Top
 Profile  
 
 Post subject:
PostPosted: Fri Mar 07, 2008 5:55 am 
Newbie

Joined: Thu Mar 06, 2008 5:08 am
Posts: 3
merci pour ta reponse , je ss encore debutante dans le domaine :( merci bcp pour tes conseils ,le problème c'est que je veux faire un mapping vers deux tables en meme temps car j'ai un formulaire qui recupèe des données qui vont etre dispatchées vers deux tables avec une clé etrangère est ce que tu peux me dire comment faire :( ou me proposer un tutoriel efficace merci d'avance


Top
 Profile  
 
 Post subject:
PostPosted: Fri Mar 07, 2008 8:14 am 
Beginner
Beginner

Joined: Thu Jan 31, 2008 6:35 am
Posts: 27
Ce que tu cherches à faire c'est un peu le B-A-BA de hibernate.

Ne pense pas base de données, mais objet dans un premier temps. Ensuite tu map tes objets sur une base.

Tu as une tres bonne doc en francais en plus :
http://www.hibernate.org/hib_docs/v3/reference/fr/html/

Il faut juste se poser les bonnes questions dans le bon ordre :
-> les valeurs de mon formulaire correspondent à quel(s) attribut(s) de mon objet
-> comment persister mon objet

Hibernate ne répond qu'a la seconde question. Mais ce n'est pas magique, il faut un peu lire la doc.



Sinon quitte à être complètement sale, tu fais une requête jdbc en direct. Dans ce cas, dis nous quel projet utilise ton code... pour qu'on ne l'utilise jamais ! :)

Samuel


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.