Spring3, Hibernate, MySQL - Как добавить контроль транзакций? - PullRequest
0 голосов
/ 01 апреля 2011

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

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Руководство Spring содержит огромный объем информации о том, как вы можете управлять транзакциями , либо программно (как в сообщении RollingBoy), либо декларативно с аннотациями или AOP.

Лучше всего сначала просмотреть документацию, чтобы понять, как она работает.

0 голосов
/ 01 апреля 2011

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


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...