单击jsf hibernate保存所有记录

时间:2017-01-18 01:23:17

标签: hibernate jsf-2.2 java-ee-7

我使用的是JavaEE,JSF 2.2和hibernate 4.3.1。

通常在保存选定的行时,我只需要这样保存:

 <ui:repeat value="#{casesBean.editableNotes}"  var="notes" varStatus="status">
  <table style="width:100%" class="tables">
    <tr>
       <th>
          <h:outputText value="Officer :  "/>
       </th>
       <th>
          <h:inputText value="#{notes.creator}"/> 
      </th>
   </table>
</ui:repeat>

<p:commandButton value="Update" action="#{casesBean.save(notes)}">

豆:

public void save(Notes notes){
    this.currentNote = notes;
    Notes notes = new Notes(currentNote.creator.... all the items here);
    helper.updateNote(notes);
}

助手:

public void updateNote(Notes notes) {
    Transaction transaction = null;
    session = HibernateUtil.getSessionFactory().openSession();
    try {
        transaction = session.beginTransaction();
        session.update(notes);
        session.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace();
        if (transaction != null) {
            transaction.rollback();
        }
    } finally {
        session.close();
    }
}

但这种方式只能保存选定的行/记录,这意味着只保存一条记录。如何通过单击按钮同时保存DataModel editableNotes中的所有记录?

0 个答案:

没有答案