Connection is read-only. Queries leading to data modification are not allowed 的产生原因及解决方案

spring.xml:文件

      <tx:advice id="txAdvice" transaction-manager="transactionManager">   
        <tx:attributes>   
            <tx:method name="save*" propagation="REQUIRED" read-only="false" /> 
            <tx:method name="add*" propagation="REQUIRED" read-only="false" /> 
            <tx:method name="delete*" propagation="REQUIRED" read-only="false" />  
            <tx:method name="update*" propagation="REQUIRED" read-only="false" />
            <tx:method name="list*" propagation="REQUIRED" read-only="true" />  
            <tx:method name="get*" propagation="REQUIRED" /> 
            <tx:method name="import*" propagation="REQUIRED" read-only="false" />
            <tx:method name="export*" propagation="REQUIRED" read-only="true" /> 
            <tx:method name="*" propagation="REQUIRED" read-only="true" />
        </tx:attributes>   
    </tx:advice>

分析:service层里面有参与事物的方法没有按以上规则来命名,而以上配置文件规定了数据库操作函数必须要以上面的字符串开头,否则的话就按照默认的配置,对数据库访问的权限为read-only。

报错原因:我的因为service层中的方法名违背了以上规则,只要将方法名改下就可以了

解决办法:1.修改service里面方法的名字,改为符合配置文件的规则。
2.当然也可以把read-only=”true”去掉,(不推荐这种做法)


 上一篇
阿里云学生服务器的购买和配置方法 阿里云学生服务器的购买和配置方法
一、购买1.登录阿里云官网 https://www.aliyun.com/ 2.滚动你手中的鼠标,滑至网站首页的末端。 3.如下图所示: 4.按照上面提供的学生认证流程,完成学生认证,认证成功就会出现【恭喜您,已完成学生认证,解锁全部时长
2019-11-15
下一篇 
关于表单自动提交的问题及解决方式 关于表单自动提交的问题及解决方式
在js中,我们常常会用到表单提交,但小编今天遇到一个问题:在删除所有引用的js文件之后,页面还是刷新 最后发现问题如下: 在js中,使用表单提交,即使你不写$(“XXX”).submit()也会使得表单提交,那如何寻找这种问题解决方式呢?
2019-01-20
  目录