【问题标题】:Spring3, Hibernate, MySQL - How do I add transactions control?Spring3、Hibernate、MySQL - 如何添加事务控制?
【发布时间】:2011-04-01 01:37:48
【问题描述】:

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);
}

【问题讨论】:

    标签: java mysql hibernate spring-mvc


    【解决方案1】:

    The Spring manual has a huge amount of information on how you can manage transactions,以编程方式(如 RollingBoy 的帖子中所示)或通过注释或 AOP 以声明方式。

    您最好先查看文档以了解其工作原理。

    【讨论】:

      【解决方案2】:
      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(); } }

      【讨论】:

        猜你喜欢
        • 2011-07-26
        • 1970-01-01
        • 2018-01-26
        • 1970-01-01
        • 2020-10-07
        • 2015-07-17
        • 1970-01-01
        • 2013-05-15
        • 2011-07-25
        相关资源
        最近更新 更多