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 :

[Hibernate]session.save ne marche pas au sein d'un loop


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [Hibernate]session.save ne marche pas au sein d'un loop
    Bonjour
    j'utilise une boucle for pour stocker plusieurs objets issues de ma datatable in JSF.
    mais hibernate ne sauvegarde que le premier objet dans la base, les autres ne sont pas sauvegardés.
    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
     
    session =sessionFactory.openSession();
     
    			org.apache.log4j.BasicConfigurator.configure();
    			tx = session.beginTransaction();		
    			Employe emp=new Employe();
    			Periode period=new Periode();
     
     
     
    			Query q1 = session.createQuery("from Employe where idEmploye = :emp_id");
    			q1.setParameter("emp_id", emp_id);
    		    emp= (Employe) q1.list().get(0);
     
    		    Query q3 = session.createQuery("from Periode where idPeriode = :period_id");
    		    q3.setParameter("period_id", period_id);
    		    period= (Periode) q3.list().get(0);
    for (int i=0;i<listcriteres.length;i++)
    			{
     
    		    Notation Nota=new Notation();
    		    NotationId Nota_id= new NotationId();
    		    Critere crit=new Critere();
    		    Hibernate.initialize(Nota_id) ;
    		    Hibernate.initialize(Nota) ;
    		    Hibernate.initialize(crit) ;
    		    crit_id=listcriteres[i].getInt1();
    		    note=listcriteres[i].getInt3();
     
        	    Query q2 = session.createQuery("from Critere where idCritere = :crit_id");
    		    q2.setParameter("crit_id", crit_id);
    		    crit= (Critere) q2.list().get(0);
    		    Nota_id.setEmploye(emp);
    		    Nota_id.setPeriode(period);
    		    Nota_id.setCritere(crit);
    		    Nota.setId(Nota_id);
    		    Nota.setNote(note);
     
    		    session.save(Nota);
     
    		    i++;
     
    			}
    		    //session.save(Notations);
    		    tx.commit();
    merci d'avance pour votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    Essai de commiter avant, entre chaque save ?

  3. #3
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, petite remarque, tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i=0;i<listcriteres.length;i++)
    et dans ta boucle, tu réécris
    Donc si tu as 2 enregistrements à faire, il ne te fera que le premier.

    Le problème ne viendrait pas de là ? (supprime le i++ de ta boucle pour voir)

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    oui c'est ça merci bcq

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

Discussions similaires

  1. [ZF1.9.2]Fonction save() ne marche pas
    Par vince29 dans le forum Zend Framework
    Réponses: 1
    Dernier message: 25/02/2011, 16h11
  2. une session qui ne marche pas
    Par laurentSc dans le forum Langage
    Réponses: 3
    Dernier message: 29/01/2011, 22h10
  3. NetBeans 6.5 : deploy on save ne marche pas
    Par adamo901 dans le forum NetBeans
    Réponses: 1
    Dernier message: 27/01/2009, 16h27
  4. [HIBERNATE] recuperer le session.save(.. .)
    Par MicroPuce dans le forum Hibernate
    Réponses: 2
    Dernier message: 24/06/2006, 09h17
  5. suivi de session simple qui ne marche pas
    Par mikebranque dans le forum Langage
    Réponses: 6
    Dernier message: 02/06/2006, 16h55

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