zoukankan      html  css  js  c++  java
  • spring+struts+mybatis中关于报错org.hibernate.exception.GenericJDBCException: Connection is read-only. Queries leading to data modification are not allowed 的产生原因及解决方案

     spring.xml:文件
    1
    <tx:advice id="txAdvice" transaction-manager="transactionManager"> 2 <tx:attributes> 3 <tx:method name="save*" propagation="REQUIRED" read-only="false" /> 4 <tx:method name="add*" propagation="REQUIRED" read-only="false" /> 5 <tx:method name="delete*" propagation="REQUIRED" read-only="false" /> 6 <tx:method name="update*" propagation="REQUIRED" read-only="false" /> 7 <tx:method name="list*" propagation="REQUIRED" read-only="true" /> 8 <tx:method name="get*" propagation="REQUIRED" /> 9 <tx:method name="import*" propagation="REQUIRED" read-only="false" /> 10 <tx:method name="export*" propagation="REQUIRED" read-only="true" /> 11 <tx:method name="*" propagation="REQUIRED" read-only="true" /> 12 </tx:attributes> 13 </tx:advice>

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

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

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

  • 相关阅读:
    webServer xampp的安装及使用
    javascript 原生方法监听DOM结构改变事件
    c# 文件简繁体转换
    c# 网络是否连接
    JMS
    JMS
    JMS
    Quartz Scheduler(2.2.1)
    MySQL
    Git CMD
  • 原文地址:https://www.cnblogs.com/jbml-154312/p/6867587.html
Copyright © 2011-2022 走看看