Ask*_*ska 5 java spring dao hibernate transactionmanager
基本设置现在都很好,我开始尝试交易.Struts + Spring + Hibernate注释事务管理器.这是Action中的示例代码,将调用服务类:
userService.addUser();
Run Code Online (Sandbox Code Playgroud)
这是addUser()服务类中的方法:
@Transactional(value="deu" )
public void addUser() {
userDao.addUser();
this.addUser2();
}
Run Code Online (Sandbox Code Playgroud)
首先,我调用addUser了userDao,它将插入一个用户.其次,我addUser2在这个服务类中调用了另一个方法.
@Transactional(value="deu" , propagation=Propagation.REQUIRES_NEW )
public void addUser2() {
//should be a new transaction and will not affect the previous one.
//this one will fail but should not affect the previous one.
userDao.addUserFail();
}
Run Code Online (Sandbox Code Playgroud)
由于无效PK,这一次将失败.我想第二个call(addUser2)会失败,但不会影响前一个.但是,未插入用户.
如果我只打电话:
@Transactional(value="deu" )
public void addUser() {
userDao.addUser();
//this.addUser2();
}
Run Code Online (Sandbox Code Playgroud)
它正在工作,这意味着像数据库这样的基本设置没有错.
任何的想法?
| 归档时间: |
|
| 查看次数: |
4825 次 |
| 最近记录: |