2013-10-10 3 views
0

В настоящее время я разрабатываю Spring 3, Mybatis и Struts2 интегрированы приложения с использованием MVC architecture.But я столкнуться с некоторыми трудностями для обработки транзакции в моем использовании application.I Spring Транзакции в моем уровне услуг, любит этотКакой слой наиболее подходит для обработки транзакций в Spring 3 Интегрированное приложение Mybatis?

Service Layer

  @Service("MyService") 
     @Transactional 
     public class MyServiceImpl implements IMyService { 
       @Transactional(readOnly=false) 
       public void myMethod() { 

       } 
     } 

Мой вопрос: «Должен ли я использовать Spring Transaction на моем уровне доступа к данным вместо уровня обслуживания?» любит этот доступ

Data Layer

 @Repository("MyDAO") 
     public class MyDAO implements IMyDAO { 
      @Transactional(readOnly=false) 
      public void myMethod() { 

      } 
     } 

ответ

2

Если ваш вызов каждый метод DAO через слой службы, чем сделать транзакционные службы слоя. Если вы вызываете некоторые методы DAO независимо от уровня службы, чем методы DAO, они должны быть транзакционными. Вы также можете совершать транзакционные транзакции, так как Spring будет распространять транзакции в обоих слоях, то есть, если вы вызываете метод Service, который является транзакционным, который вызывает транзакционный метод DAO, они будут использовать одну и ту же транзакцию.

 Смежные вопросы

  • Нет связанных вопросов^_^