Cause: org.postgresql.util.PSQLException: 错误: 不能在一个只读模式的事务中执行

发布于 2021-11-23 12:46:07 字数 1313 浏览 1045 评论 2

org.springframework.jdbc.UncategorizedSQLException: 
### Error updating database.  Cause: org.postgresql.util.PSQLException: 错误: 不能在一个只读模式的事务中执行INSERT
### The error may involve com.community.persistence.UserMapper.insertUser-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO         cs_user   (id,         nick_name,         login_name,         login_pwd,         email,         phone,         identity_card,         createTime,         updateTime)         VALUES         (?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?);
### Cause: org.postgresql.util.PSQLException: 错误: 不能在一个只读模式的事务中执行INSERT

; uncategorized SQLException for SQL []; SQL state [25006]; error code [0]; 错误: 不能在一个只读模式的事务中执行INSERT; nested exception is org.postgresql.util.PSQLException: 错误: 不能在一个只读模式的事务中执行INSERT

这是个什么错误spring+mybatis

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱你是孤单的心事 2021-11-30 05:20:16

这个错误难道是因为你,在一个只读模式的事务中执行了INSERT?

疑心病 2021-11-28 09:54:26

遇到了同样的问题,搜索的时候找到这里,不过没有答案,很郁闷。。。

最终解决了,发现是Spring事务配置的原因,我的方法是以create为前缀的,但并没有在配置文件中进行配置,然后发现Spring事务配置有这么一句

<tx:method name="*" read-only="true" />

所以没有在前面配置被匹配上的都被认为是只读的了。/(ㄒoㄒ)/~~

添加了配置就解决了。配置如下:

<tx:method name="create*" propagation="REQUIRED" rollback-for="java.lang.Exception" />

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文