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

Servlets/JSP Java Discussion :

Erreur servlet hibernate: id to load is required for loading


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut Erreur servlet hibernate: id to load is required for loading
    Bonjour,j'ai un erreur je ne sais pas qu'est ce que ca veut dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    java.lang.IllegalArgumentException: id to load is required for loading
    	org.hibernate.event.LoadEvent.<init>(LoadEvent.java:51)
    	org.hibernate.event.LoadEvent.<init>(LoadEvent.java:33)
    	org.hibernate.impl.SessionImpl.load(SessionImpl.java:792)
    	org.hibernate.impl.SessionImpl.load(SessionImpl.java:788)
    	servlets.commande.CommandeFournisseurs.doPost(CommandeFournisseurs.java:106)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ben comme dit le message, l'id à charger est nécessaire pour charger. Vous avez probablement passé un null à la méthode load()

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    merci , voici le code de ma servlet

    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
    String action = request.getParameter("op");
    		org.hibernate.Session sessionDb = HibernateUtil.getSessionFactory()
    				.openSession();
    		int quantite_commandee = 0,quantite_livree=0;
    		Integer fournisseur_id=null,produit_id=null;
    		try {
    		produit_id = Integer.parseInt(request.getParameter("id"));
    		fournisseur_id = Integer.parseInt(request.getParameter("fournisseur_id"));
    		quantite_commandee = Integer.parseInt(request.getParameter("quantite_commandee"));
    		quantite_livree = Integer.parseInt(request.getParameter("quantite_livree"));
    			} catch (NumberFormatException e) {
    			System.out.println(e);
    											}
    		if (action.equals("new")) {
    			try {
    				Produit produit=(Produit)sessionDb.load(Produit.class, produit_id);
    				Fournisseur fournisseur=(Fournisseur)sessionDb.load(Fournisseur.class, fournisseur_id);
    				CommandeFournisseur commandeFournisseur = new CommandeFournisseur();
     
    				commandeFournisseur.setProduit(produit);
    				commandeFournisseur.setFournisseur(fournisseur);
    				String dateStr = (String) (request
    						.getParameter("date_commande"));
    				String dateStr1 = (String) (request
    						.getParameter("date_livraison"));
    				String sFormat = "yyyy-MM-dd";
    				SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
    				try {
    					java.util.Date d = (java.util.Date) sdf.parse(dateStr);
    					java.util.Date d1 = (java.util.Date) sdf
    							.parse(dateStr1);
    					commandeFournisseur.setDate_commande(d);
    					commandeFournisseur.setDate_livraison(d1);
    				} catch (ParseException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    				commandeFournisseur.setEtat(request.getParameter("etat"));
    				commandeFournisseur.setQuantite_commandee(quantite_commandee);
    				commandeFournisseur.setQuantite_livree(quantite_livree);
    				sessionDb.save(commandeFournisseur);
    				sessionDb.flush();
    				sessionDb.connection().commit();
    				sessionDb.close();
    				response.sendRedirect("commandeFournisseur?op=index&id="+commandeFournisseur.getId());
    				} catch (HibernateException e) {
    					e.printStackTrace();
    				} catch (SQLException e) {
     
    					e.printStackTrace();
    				}

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    produit_id est probablement null.

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    oui mais comment je peux l'initialiser si je n'est pas mis null?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par salma309 Voir le message
    oui mais comment je peux l'initialiser si je n'est pas mis null?
    je comprend pas la question là.

    Vous devez fournir une valeur non null pour utiliser load (logique). Et dans votre code, il y a des cas où elle est null (par exemple si vous déclenchez une exception sur produit_id = Integer.parseInt(request.getParameter("id")) )

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    merci,ma servlet s'appelle commandeFournisseur et l'id produit est une clé étrangère je veux savoir comment je peux ajouter ce produit dans ma servlet?

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/03/2013, 05h26
  2. Réponses: 4
    Dernier message: 20/06/2011, 17h47
  3. Erreur Servlet JBuiler 2005
    Par jason69 dans le forum JBuilder
    Réponses: 7
    Dernier message: 03/05/2006, 23h07
  4. pb erreur servlet tomcat
    Par 2tsiris dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 02/04/2006, 19h03
  5. [C#][debutant]erreur => object reference is required for a no
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/01/2006, 13h47

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