0

나는 jsf 1.X를 사용하고 최대 절전 모드 인 새로운 프로젝트에서 작업하고있다. 우리는최대 절전 모드를 사용하여 DB를 업데이트하는 방법은 무엇입니까?

 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를) update_ 코드 아래 사용하는; 작동 중 (흐름)입니까? 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();은 데이터베이스 연결을 캡슐화하고 "작업 단위 (Unit of Work)"패턴을 구현하는 최대 절전 모드 세션을 생성합니다. session.saveOrUpdate(shift4B);은 엔티티의 상태 (신규 또는 변경)에 따라 shift4B을 생성 (INSERT)하거나 업데이트해야한다는 세션을 알려줍니다.

+0

하지만 어떻게 해당 javaBean 클래스를 찾고 HBconfi로 이동합니까? –

+1

hbm 매핑에 매핑이 속한 클래스가 지정되어 있습니다. Hibernate는 shift4B.class.Fullname을 사용하여 상응하는 매핑을 얻고 필요한 모든 것은 – Firo

+0

tnx로 정의되고 왜 DAO를 사용했는지, 그냥 공백 생성자가 있습니까? 내가 saveOrUpdate (obj) 할 때 HBM 파일을 통해 _obj_ 클래스로 이동한다는 것을 의미합니까? –

관련 문제