2017-02-08 1 views
1

Ich habe eine Liste und ich möchte hinzufügen, um die Daten, die ich von der Liste in die Datenbank bekommen. Mein Code ist:Wie füge ich Daten ein, die ich von einer Liste in Datenbank mit Entitymanager (Hibernate) bekomme?

List<EventPayload> mylist=eventpojo.getEventPayload(); 

      for(EventPayload array : mylist) 
      { 
       System.out.println("Comment Text :"+array.getCommentText()); 
       System.out.println("Comment Type :"+array.getCommentType()); 
       System.out.println("Comment Id :"+array.getCommentId()); 
       System.out.println("Email id :"+array.getComment_email()); 
       String email1=array.getComment_email(); 
       EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("jcg-JPA"); 
       EntityManager em = entityManagerFactory.createEntityManager(); 


       List email=em.createQuery("SELECT usrinfo.user_id FROM UserInfo usrinfo WHERE usrinfo.email_id = :id").setParameter("id", email1).getResultList(); 
       String userid=email.get(0).toString(); 
       System.out.println("User id:"+userid); 
       Date date = new Date(); 
       PageInfo pageinfo=new PageInfo(); 
       pageinfo.setComment_id(array.getCommentId()); 
       pageinfo.setComment_text(array.getCommentText()); 
       pageinfo.setComment_type(array.getCommentType()); 
       String date1=sdf.format(date); 
       pageinfo.setCreation_date(sdf.parse(date1)); 
       pageinfo.setModification_date(sdf.parse(date1)); 
       pageinfo.setRetrospective_id(eventpojo.getEventRetrospectiveId()); 
       int user_id = Integer.parseInt(userid); 
       pageinfo.setUser_id(user_id); 
       em.persist(pageinfo); 

       } 

ich alle Tabellen mit den POJOs zugeordnet haben und es funktioniert fine.I möchte nur die haben CommentTextComment typecomment IdEmail IdCreation DateModification date und RetrospectiveID .Ich fügen eine Tabelle Seiteninfo und auch ein POJO namens PageInfo mit diesen 7 Feldern.Kindly Hilfe

+0

Was ist die Problemstellung hier? Funktioniert dein Code nicht? –

+0

Daten werden nicht in die Datenbank eingefügt. – Akshay

+0

Sie können versuchen, die Anweisung .given unterhalb der Anweisung außerhalb von for loop zu verschieben. EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory ("jcg-JPA"); EntityManager em = entityManagerFactory.createEntityManager(); –

Antwort

1

Führen Sie den persistenten Code innerhalb der Transaktion.

List<EventPayload> mylist=eventpojo.getEventPayload(); 
     EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("jcg-JPA"); 

     for(EventPayload array : mylist) 
     { 
      System.out.println("Comment Text :"+array.getCommentText()); 
      System.out.println("Comment Type :"+array.getCommentType()); 
      System.out.println("Comment Id :"+array.getCommentId()); 
      System.out.println("Email id :"+array.getComment_email()); 
      String email1=array.getComment_email(); 

      EntityManager em = entityManagerFactory.createEntityManager(); 


      List email=em.createQuery("SELECT usrinfo.user_id FROM UserInfo usrinfo WHERE usrinfo.email_id = :id").setParameter("id", email1).getResultList(); 
      String userid=email.get(0).toString(); 
      System.out.println("User id:"+userid); 
      Date date = new Date(); 
      PageInfo pageinfo=new PageInfo(); 
      pageinfo.setComment_id(array.getCommentId()); 
      pageinfo.setComment_text(array.getCommentText()); 
      pageinfo.setComment_type(array.getCommentType()); 
      String date1=sdf.format(date); 
      pageinfo.setCreation_date(sdf.parse(date1)); 
      pageinfo.setModification_date(sdf.parse(date1)); 
      pageinfo.setRetrospective_id(eventpojo.getEventRetrospectiveId()); 
      int user_id = Integer.parseInt(userid); 
      pageinfo.setUser_id(user_id); 
      EntityTransaction trans= entityManager.getTransaction(); 


      trans.begin(); 

      em.persist(pageinfo); 

      trans.commit(); 
      em.close(); 

      } 

     entityManagerFactory.close(); 
+0

Danke mate..das was mir gefehlt hat .. – Akshay

Verwandte Themen