如何使用Hibernate Template对象在一个事务中持久保存多个临时对象

时间:2014-12-17 14:53:29

标签: spring hibernate

我需要使用Hibernate Template将两个瞬态/ POJO对象存储到数据库中。例如,有两个对象Employee和Address。显然我需要存储第一个Employee then Address,如果存储Employee对象导致任何问题,则不能存储Address对象。我可以使用原始编码来执行此操作,例如获取会话,开始事务,保留两个对象然后提交事务。 我想使用Hibernate Template执行这种类似的行为。

1 个答案:

答案 0 :(得分:0)

就像你提到的那样。这是流程

session.beginTransaction();

employeeHybernateTemplateDao.save(employee);  // this will run under the transaction boundaries declared above

addressHybernateTemplateDao.save(address);    // this will run under the transaction boundaries declared above

session.getTransaction().commit();

employeeHybernateTemplateDao将是您在save方法中实现hybernatetemplate功能的DAO,如下所示

HibernateTemplate template = new HibernateTemplate(sessionFactory);

public void save(Employee employee){
     template.save(employee);        

}