Connection is read-only. Queries leading to data modification are not allowed
1.检查事务配置
2.检查方法命名
检查在诸如 loadXXXX, queryXXX 的查询方法中,是否用了update,insert ,delete 数据的操作!
我的出错的地方是 方法名是 :loadXXXOrAddXXX()
事务配置xml如下
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="load*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="query*" read-only="true" />
<tx:method name="select*" read-only="true" />
<tx:method name="validate*" read-only="true" />
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="create*" propagation="REQUIRED"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="modify*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="remove*" propagation="REQUIRED"/>
<tx:method name="do*" propagation="REQUIRED"/>
<tx:method name="*" propagation="SUPPORTS"
rollback-for="Throwable" />
</tx:attributes>
</tx:advice>
就是这个 <tx:method name="load*" read-only="true" />
匹配了
loadXXXOrAddXXX() 这个方法名,然后connection是 readonly的,所以无法做insert的操作!
坑爹了!!!!
相关推荐
formatted-task035-winogrande-question-modification-person.json
formatted-task034-winogrande-question-modification-object.json
在IT行业中,"mod"通常是"module"或"modification"的缩写,这可能是一个用于扩展或修改应用程序功能的组件。在这种情况下,“header”可能指的是HTTP头部,因为这是网络通信中非常重要的一部分,尤其是对于Web开发和...
在"Game modification"这个文件夹中,很可能包含了实现这些修改的具体C源代码文件。可能包括了植物和僵尸的定义、游戏逻辑的处理函数,以及与游戏引擎交互的接口函数。通过阅读和理解这些代码,我们可以学习到如何将...
7. 维护和修改(Maintenance and Modification):标准也涵盖了系统在运行期间的维护和修改,确保任何更改都不会降低其原有的安全性能。 8. 文档要求(Documentation Requirements):详尽的文档是确保功能安全的...
printf("Before modification: %d\n", globalVar); modifyGlobalVar(); printf("After modification: %d\n", globalVar); return 0; } // 文件2: util.c extern int globalVar; // 外部变量声明 void ...