Зимуют советы сделки


Я новичок в спящий режим, поэтому мне нужен совет/направление на ведение сделок.

У меня есть Дао, как

public class MyDao extends HibernateDaoSupport implements IMyDao {

 @Override
 public Foo getFoo(int id) {

  return (Foo)getHibernateTemplate().load(Foo.class, id);

 }
}

С помощью этой установки (используя HibernateDaoSupport), будет зимовать/Весна обрабатывает транзакции для меня? Некоторые примеры, которые я вижу говорят да, другие показывают, используя

Transaction tx = getHibernateTemplate().getSessionFactory().getCurrentSession().beginTransaction();

чтобы получить сделки в каждый метод Дао.

Сейчас я предполагаю, что мой минимальный Дао-это правильно, но я хочу сделать "большой" операции, которая включает в себя несколько гибернации звонки в один способ. Я использовать ручной способ проводки есть? Должен ли я использовать его везде? Спасибо.



721
1
задан 28 января 2011 в 05:01 Источник Поделиться
Комментарии
2 ответа

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

Код, который начинается и совершает сделки в каждый метод Дао, скорее всего, будет проблематично.

Кстати: не очень заинтересованы в Все о 'Дао', но как вы его используете, поэтому я буду.

2
ответ дан 29 января 2011 в 11:01 Источник Поделиться

Я бы лично представить весну и их поддержка гибернации в ваше приложение, то вы можете использовать там спящий режим диспетчер транзакций и определение транзакций в XML-файл и затем забыть о них в фактический код

2
ответ дан 31 января 2011 в 04:01 Источник Поделиться