我正在研究使用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? 感谢你!!!!
答案 0 :(得分:1)
dao.createNewSession();
创建一个hibernate会话,它封装了一个数据库连接并实现了“工作单元”模式。 session.saveOrUpdate(shift4B);
告诉会话应根据实体的状态(新的或更改的)创建(INSERT)或更新shift4B
。