[英]Which layer is most suitable to handle transaction in Spring 3 Mybatis integrated application?
目前,我使用MVC架構開發Spring 3,Mybatis和Struts2集成應用程序。但是在我的應用程序中處理事務時會遇到一些困難。我在服務層中使用Spring Transaction,就像這樣
服務層
@Service("MyService")
@Transactional
public class MyServiceImpl implements IMyService {
@Transactional(readOnly=false)
public void myMethod() {
}
}
我的問題是“我應該在數據訪問層而不是服務層中使用Spring Transaction嗎?” 喜歡這個
資料存取層
@Repository("MyDAO")
public class MyDAO implements IMyDAO {
@Transactional(readOnly=false)
public void myMethod() {
}
}
如果您通過服務層調用每個DAO方法,則比使服務層具有事務性。 如果您調用一些獨立於服務層的DAO方法,則DAO方法將需要是事務性的。 您還可以使這兩個事務都成為事務,因為Spring會在這兩個層中傳播事務,這意味着,如果您調用一個事務性的Service方法並調用一個事務性DAO方法,則它們將共享同一事務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.