如何使用hibernate更新数据库?

时间:2012-11-09 11:20:32

标签: java hibernate java-ee nhibernate-mapping hibernate-mapping

我正在研究使用jsf 1.X和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? 感谢你!!!!

1 个答案:

答案 0 :(得分:1)

dao.createNewSession();创建一个hibernate会话,它封装了一个数据库连接并实现了“工作单元”模式。 session.saveOrUpdate(shift4B);告诉会话应根据实体的状态(新的或更改的)创建(INSERT)或更新shift4B