Java program crashes while updating the database (hibernate) -


i developing java app client. have postgresql table (dossier) 21 columns. in 1 of functions have save 13 rows of 21 columns each in database. doing using 1 hibernate session; if not program crashes. database save 13 rows crashes, don't know if asking don't know way of doing this. if not application works perfectly, issue.

here code:

    private void creeretchargerar(string numdossier) throws exception{     //creation du dossier     //start     session session1= hibernateutil.getsessionfactory().opensession();     transaction tx1 = session.begintransaction();     dossieraras dossier = new dossieraras();     dossierarasid iddos = new dossierarasid();      iddos.setmatricule(labelmatricule.gettext());     iddos.setcode(labelcode.gettext());     iddos.sethorodatage(control.horodatage());     iddos.setdatedebutdemande(control             .datelabelswttodatepostgres(labeldatedebdemande                     .gettext()));     iddos.settypeattestation(labeltypeatt.gettext());     iddos.setnumdossier(numdossier);     dossier.setdatedebut(control             .datelabelswttodatepostgres(labeldatedeb                     .gettext()));     dossier.setdatefindemande(operationsdate.dateoracletodatepostgres("29991231"));     dossier.setdatefin(control             .datelabelswttodatepostgres(labeldatefin                     .gettext()));     dossier.setmatriculegestionnaire(matriculegestionnaire);     dossier.setmatriculegestionnaire(matriculegestionnaire);     dossier.setstatut("e");     dossier.setdateaccident(control             .datelabelswttodatepostgres(labeldateaccident.gettext()));      string date1 = null;     //float sommenet = 0f;     float sommebrut = 0f;     float sommesft = 0f;      float sft = 0f;     float mois13 = 0f;     float asl = 0f;      //string datedebutoracle = control.javautildatetostringasar(labeldatedeb.gettext());     string dateasa = control.javautildatetostringasar(labeldatedeb.gettext());     string datedebutoracle = salaire_dao.moismoins1(dateasa);     system.out.println(datedebutoracle);      iddos.setperpaie(salaire_dao.recupperpaiaras(datedebutoracle));     dossier.setid(iddos);      asl = (salaire_dao.recupsalaire(datedebutoracle,             labelmatricule.gettext(), rubrique.asl)== null) ? 0f:float.parsefloat(salaire_dao.recupsalaire(datedebutoracle,                      labelmatricule.gettext(), rubrique.asl));     dossier.setsalairebrut(asl);     system.out.println(asl);      sft = (salaire_dao.recupsalaire(datedebutoracle, labelmatricule.gettext(), rubrique.sft)== null) ? 0f:         float.parsefloat(salaire_dao.recupsalaire(datedebutoracle, labelmatricule.gettext(), rubrique.sft));     dossier.setsft(sft);     system.out.println(sft);      sommebrut = asl;     sommesft = sft;      date1 = salaire_dao.moismoins1(datedebutoracle);     system.out.println(date1);     system.out.println(sommebrut);      session1.saveorupdate(dossier);     session1.flush();     session1.clear();       //creation des 12 lignes pour chaque perpaie        (int = 1; i<12; i++){             iddos.setperpaie(salaire_dao.recupperpaiaras(date1));             dossier.setid(iddos);              asl = (salaire_dao.recupsalaire(date1,                     labelmatricule.gettext(), rubrique.asl)== null) ?                     0f:float.parsefloat(salaire_dao.recupsalaire(date1, labelmatricule.gettext(), rubrique.asl));             dossier.setsalairebrut(asl);             system.out.println(asl);               sft = (salaire_dao.recupsalaire(date1, labelmatricule.gettext(), rubrique.sft)== null) ? 0f:                 float.parsefloat(salaire_dao.recupsalaire(date1, labelmatricule.gettext(), rubrique.sft));             dossier.setsft(sft);             system.out.println(sft);               sommebrut = sommebrut +  asl;             sommesft = sommesft + sft;              date1 = salaire_dao.moismoins1(date1);             system.out.println(date1);           system.out.println(sommebrut);         session1.saveorupdate(dossier);         session1.flush();         session1.clear();         //i++;     }             iddos.setperpaie("total");         dossier.setid(iddos);         system.out.println(dossier.getid().getperpaie());         dossier.setsalairebrut(float.parsefloat(string.valueof(sommebrut)));         dossier.setsft(float.parsefloat(string.valueof(sommesft)));         mois13 = sommebrut/12;         dossier.setmois13(float.parsefloat(string.valueof(mois13)));          session1.saveorupdate(dossier);         //session1.gettransaction().commit();         session1.flush();         if (!tx1.wascommitted()){             tx1.commit();             session1.close();         }         //fin creation du dossier          //affichage des donnes           btn_d_valider.setvisible(true);         btn_d_valider.setenabled(true);         grpmemois13.setvisible(true);         grpmesalairetotal.setvisible(true);         grpcongsannuels.setvisible(true);         group_2.setvisible(true);         btn_d_editerlademande.setvisible(true);         btn_d_editerlademande.setenabled(true);         btnediterledossier.setenabled(false);          text_mois13.settext(string.valueof(mois13));         sommesalaire.settext(string.valueof(sommebrut));          iterator<dossieraras> = dossieraras_dao.recuperer12periodes(numdossier);         while (it.hasnext()){         dossieraras ds = it.next();             while (!ds.getid().getperpaie().equals("total")){                     tableitem ligne1 = new tableitem(table_sft, swt.none);                     ligne1.settext(0, ds.getid().getperpaie());                     ligne1.settext(1, string.valueof    (ds.getsft()));                 }         }  } 

it solved, instead of while (infinite boucle) had put if thats all.

thanks


Comments

Popular posts from this blog

javascript - gulp-nodemon - nodejs restart after file change - Error: listen EADDRINUSE events.js:85 -

Fatal Python error: Py_Initialize: unable to load the file system codec. ImportError: No module named 'encodings' -

javascript - oscilloscope of speaker input stops rendering after a few seconds -