NutzCN Logo
问答 请问关于spring事务与nutz的问题
发布于 2025天前 作者 qq_b354c25d 1569 次浏览 复制 上一个帖子 下一个帖子
标签:

我是想根据业务中某个bool值
然后抛出业务异常捕获触发
@Transactional(rollbackFor = Exception.class)

事务中的方法内容是:
两个更新操作

 @Transactional(rollbackFor = Exception.class)
    @Override
    public void applyCancelTrans(ApplyCaseRecord applyCaseRecord) {
        applyCaseRecordDao.update(applyCaseRecord);
        applyOperationRecordDao.updateValidByCaseId(applyCaseRecord.getId());
    }

所以请问怎么让spring发生了事务,
让nutz修改的数据库的内容也进行回滚呢?

3 回复

设置SpringDaoRunner了吗?

配置了

@Repository
public class SpringDaoRunnerForNutz implements DaoRunner {

    @Override
    public void run(DataSource dataSource, ConnCallback callback) {
        Connection con = DataSourceUtils.getConnection(dataSource);
        try {
            callback.invoke(con);
        }
        catch (Exception e) {
            if (e instanceof RuntimeException)
                throw (RuntimeException) e;
            else
                throw new RuntimeException(e);
        } finally {
            DataSourceUtils.releaseConnection(con, dataSource);
        }
    }

}

   <bean id="dao" class="org.nutz.dao.impl.NutDao">
        <property name="dataSource" ref="dataSource"/>
        <property name="runner" ref="springDaoRunnerForNutz"/>
    </bean>

那应该是可以的

添加回复
请先登陆
回到顶部