0

我正在使用jsf 1.X和hibernate的項目,這裏是新的。我們用下面的代碼來update_如何使用hibernate更新數據庫?

 Shift4DAO dao = Shift4DAO.getInstance(); 
     Session session = dao.createNewSession(); 
     Transaction transaction = null; 
     try { 
      transaction = session.beginTransaction(); 
      session.saveOrUpdate(shift4B); 
      transaction.commit(); 
     } catch (final HibernateException e) { 
      e.printStackTrace(); 
      if (transaction != null) { 
       transaction.rollback(); 
      } 

如何session.saveOrUpdate(shift4B);它正在工作(流量)? 其中Shift4DAO.java

public class Shift4DAO extends BaseShift4DAO { 

public Shift4DAO() {} 
} 

而且Shift4.java

public class Shift4 extends BaseShift4 { 
private static final long serialVersionUID = 1L; 


public Shift4() { 
    super(); 
} 


public Shift4 (java.lang.Integer id) { 
    super(id); 
} 


public Shift4 (
    java.lang.Integer id, 
    org.azureworlds.dao.Employee createdBy, 
    org.azureworlds.dao.Employee lastUpdatedBy, 
    org.azureworlds.dao.Reservation reservation) { 

    super (
     id, 
     createdBy, 
     lastUpdatedBy, 
     reservation); 
} 

} 

我不明白如何到連接到更新的更新數據。 是任何人都可以簡化這個,我需要檢查或如何連接到HB? 謝謝你!!!!

+0

這個問題不是很清楚。你展示的代碼可能適用,並詢問如何去做?什麼問題 – Firo

+0

我正在學習這段代碼,但我不明白數據如何流入此代碼,以及它如何連接到其他代碼? –

回答

1

dao.createNewSession();創建一個hibernate會話,它封裝數據庫連接並實現「工作單元」模式。 session.saveOrUpdate(shift4B);告訴會話shift4B應根據實體的狀態(新建或更改)創建(INSERT)或更新。

+0

但他如何找到其相應的javaBean類並轉到HBconfi?在hbm映射中有 –

+1

,映射所屬的類是指定的類。 Hibernate使用shift4B.class.Fullname來獲得相應的映射,並且它所需要的全部都是在那裏定義的 – Firo

+0

tnx,以及爲什麼我們使用的DAO沒有任何內容,只是有空白的構造函數? 意味着當我做save​​OrUpdate(OBJ)然後它通過HBM文件去_obj_的類? –

相關問題