我正在尝试创建一个类似向导的注册,其中我有多个页面,每个页面都有一个表单和一个“保存并继续”按钮。我想将每个表单的数据保存在休眠会话中,并仅在用户确认时在注册结束时将其保存在数据库中。我不是 Hibernate 专家,但我知道我需要创建一个“长会话”。我怎么做?我是否通过让交易保持开放来做到这一点?如何从一个请求到另一个请求中检索“脏”实体?假设我们有一个 GWTP 动作处理程序,它做这样的事情
//page1 action
public myAction1Result execute(myAction1Action action,ExecutionContext context) throws ActionException {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
User entityUser = new User();
entityUser.setName(action.getName());
session.save(entityUser);
return new myAction1Result();
}
在事务打开之前,userEntity 不会保存在数据库中,而是暂时的。如何在另一个 actionHandler 中检索它?