Spring3,Hibernate,MySQL - 如何添加事务控件?
我想了解如何将事务控制添加到以下内容中,以便其中一个调用确实可以回滚?
public void saveFriend(Friend friend, String rUser)
{
friend.setId(1);
friend.setUsername(rUser);
friend.setAddedDate(new Date());
sessionFactory.getCurrentSession().saveOrUpdate(friend);
friend.setId(2):
friend.setUsername(rUser);
friend.setAddedDate(new Date());
sessionFactory.getCurrentSession().saveOrUpdate(friend);
}
答案 0 :(得分:2)
The Spring manual has a huge amount of information on how you can manage transactions,以编程方式(如在RollingBoy的帖子中)或以声明方式使用注释或AOP。
您最好先查看文档,了解其工作原理。
答案 1 :(得分:0)
public void saveFriend(Friend friend, String rUser)
{
Session session = sessionFactory.getCurrentSession();
Transaction t = session.beginTransaction();
friend.setId(1);
friend.setUsername(rUser);
friend.setAddedDate(new Date());
session.saveOrUpdate(friend);
friend.setId(2):
friend.setUsername(rUser);
friend.setAddedDate(new Date());
session.saveOrUpdate(friend);
if(someCondition) {
t.commit();
}
else{
t.rollback();
}
}