Connection is read-only. Queries leading to data modification are not allowed 错误原因

因为我再spring 中使用了AOP进行事务管理,有如下配置

<tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!-- 定义事务传播属性 -->
        <tx:attributes>
            <tx:method name="insert*" propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="edit*" propagation="REQUIRED" />
            <tx:method name="save*" propagation="REQUIRED" />
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="new*" propagation="REQUIRED" />
            <tx:method name="set*" propagation="REQUIRED" />
            <tx:method name="remove*" propagation="REQUIRED" />
            <tx:method name="delete*" propagation="REQUIRED" />
            <tx:method name="change*" propagation="REQUIRED" />
            <tx:method name="get*" propagation="REQUIRED" read-only="true" />
            <tx:method name="find*" propagation="REQUIRED" read-only="true" />
            <tx:method name="load*" propagation="REQUIRED" read-only="true" />
            <tx:method name="*" propagation="REQUIRED" read-only="true" />
        </tx:attributes>
    </tx:advice>  

对于get find load 开头和其他所有方法都设置了只读,不能修改、删除、插入 操作。而我执行的方法名以Insert 开头大小写不一致导致当前事务是只读的,执行插入操作就会报以上错误。

原文地址:https://www.cnblogs.com/li-zhi-long/p/9401502.html

时间: 2024-10-10 08:36:22

Connection is read-only. Queries leading to data modification are not allowed 错误原因的相关文章

Connection is read-only. Queries leading to data modification are not allowed

<tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <!-- 让所有的方法都加入事务管理,为了提高效率,可以把一些查询之类的方法设置为只读的事务 --> <!-- method name=*, readonly=true表示所有的数据库操作都可以使用,但是只能是读取数据库. 例如有UserService的方法 listUsers,

java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed

org.springframework.dao.TransientDataAccessResourceException: ### Error updating database. Cause: java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed ### The error may involve defaultParameterMap ### T

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

[Android_Bug]处理PhoneGap Application Error: "The connection to the server was unsuccessful.(file:///android_asset/www/index.html)"的错误

android 在log中提示TimeOut Error后,应用程序弹出application error the connection to the server was unsuccessful 的错误的处理方法: 第一步 找到项目中res/xml目录下的config.xml,把你的外网的域名地址添加到配置中     <access origin="http://example.com" /> 第二步 在activity的onCreate方法中加入一行代码 public

异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误

异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误,但是SQL语句单独执行没有问题,经检查发现时表名称没有加"[]",原始信息如下: SELECT UserName,UserPasswd,SiteUrl  FROM  Work  Where UserName='2012' 修改后信息如下: SELECT UserName,UserPasswd,SiteUrl  FROM  [Work]  Where UserName='2012'

DataTables warning : Requested unknown parameter &#39;1&#39; from the data source for row 0错误

昨天在做datatables的项目,从后台取得数据后,返回给datatables界面时会报下面的错误: DataTables warning : Requested unknown parameter '1' from the data source for row 0 加上下面的设置就可以了,至于原理还不是很清楚. "aoColumnDefs": [{ sDefaultContent: '', aTargets: [ '_all' ]  }], var oTable = $(&quo

使用Core Data应避免的十个错误

Core Data是苹果针对Mac和iOS平台开发的一个框架,主要用来储存数据.对很多开发者来说,Core Data比较容易入手,但很难精通,如果没有正确的学习方法,你将很难真正理解它,更不用说精通了.很多开发者常常在这方面犯一些错误,而这篇文章列出了开发者在iOS开发过程中使用Core Data常见的一些错误,并对如何避免这些错误进行了分析.   1.不了解关键术语 对于iOS开发者来说,会使用Core Data是一项必备技能. 没有它,很多app都不会存在.当在互联网上四处搜索Core D

DataTables warning : Requested unknown parameter &#39;0&#39; from the data source for row 0错误

在做datatables的项目,从后台取得数据后,返回给datatables界面时会报下面的错误: DataTables warning : Requested unknown parameter '0' from the data source for row 0 加上下面的设置就可以了,至于原理还不是很清楚. "aoColumnDefs": [{ sDefaultContent: '', aTargets: [ '_all' ]  }], var oTable = $("

iOS开发过程中使用Core Data应避免的十个错误

原文出处: informit   译文出处:cocoachina Core Data是苹果针对Mac和iOS平台开发的一个框架,主要用来储存数据.对很多开发者来说,Core Data比较容易入手,但很难精通,如果没有正确的学习方法,你将很难真正理解它,更不用说精通了.很多开发者常常在这方面犯一些错误,而这篇文章列出了开发者在iOS开发过程中使用Core Data常见的一些错误,并对如何避免这些错误进行了分析.  1.不了解关键术语 对于iOS开发者来说,会使用Core Data是一项必备技能.