Positive example 1:
@Service
@Transactional(rollbackFor = Exception.class)
public class UserServiceImpl implements UserService{
@Override
public void save (User user){
//some code
//de operation
}
}
Positive example 2:
@Service
public class UserServiceImpl implements UserService{
@Override
@Transactional(rollbackFor = Exception.class)
public void save(User user){
//some code
//db operation
}
}
Positive example 3:
@Service
public class UserServiceImpl implements UserService{
@Autowired
private DataSourceTransactionManager transactionManager;
@Override
@Transactional
public void save(User user){
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
//设置事务名称
def.setName("name");
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
);
TransactionStatus status = transactionManager.getTransaction(def);
try{
//业务逻辑
//db operation
}catch(Exception e){
transactionManager.rollback(status);
throw e;
}
}
}