org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER)

org.springframework.dao.InvalidDataAccessApiUsageException: Cannot autogenerate id of type java.lang 确认实体对象中 @Id 注解的字段是否正确生成了 Long 类型的值,并且不为 null。如果需要使用 MongoDB 自动生成 _id,可以将注解的字段类型改为 String 类型。需要注意的是,使用 insert 方法时,如果 _id 的值已经存在于集合中,插入操作将会失败。使用 save 方法时,如果 _id 的值已经存在于集合中,将会执行更新操作。中时,@Id 注解的字段的值为 null,导致 MongoDB 无法自动生成 Long 类型的 _id。注解,以及注解的字段类型是否为 Long 类型。 阅读详情

在执行service中一个方法bumenAuth()时出现错误:

org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition 

查看srping中事务管理配置:

<bean id="txProxyTemplate" abstract="true"
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="transactionManager" />
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="find*">PROPAGATION_REQUIRED</prop>
    <prop key="save*">PROPAGATION_REQUIRED</prop>
    <prop key="remove*">PROPAGATION_REQUIRED</prop>
    <prop key="update*">PROPAGATION_REQUIRED</prop>
    <prop key="create*">PROPAGATION_REQUIRED</prop>
    <prop key="add*">PROPAGATION_REQUIRED</prop>
    <prop key="del*">PROPAGATION_REQUIRED</prop>
    <prop key="clear*">PROPAGATION_REQUIRED</prop>
    <prop key="build*">PROPAGATION_REQUIRED</prop>
   </props>
  </property>
 </bean>

看了之后才知道,原来的事务策略的<prop key="*">PROPAGATION_REQUIRED</prop>被删除后,bumenAuth()方法后忘了修改,所以导致报上述的错误

修改方法一:

     将此方法修改为update或者build,add....等上述策略名称开头的方法:如:updateBumenAuth()

修改方法二:

    增加<prop key="*">PROPAGATION_REQUIRED</prop>即可

修改方法三:

 将web.xml下的

   <filter>
  <filter-name>OpenSessionInViewFilter</filter-name>
  <filter-class>
   org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
  </filter-class>
  <init-param>
   <param-name>singleSession</param-name>
   <param-value>true</param-value>
  </init-param>
 </filter>

中的singleSession值修改为false,即不限制整个过程用同一个session,但缺点是Hibernate Session的Instance可能会大增,使用的JDBC Connection量也会大增,如果Connection Pool的maxPoolSize设得太小,很容易就出问题

参考:关于OpenSessionView(http://liuwei1578.blog.163.com/blog/static/4958036420092104215514/)

Spring事务配置TransactionProxyFactoryBean(http://liuwei1578.blog.163.com/blog/static/49580364200921041136625/)

 

 

——————————————————————————————————————

参考另一篇文章:

 

http://zhupan.javaeye.com/blog/33507   注重讲的是spring!!!!!!!!!!!!!!!!!!!!!!!

正确解决org.springframework.dao.DataAccessException异常的有效解决方法 阅读详情

相关推荐

机器学习笔记之玻尔兹曼机(一)基本介绍

在受限玻尔兹曼机——模型表示(Representation)一节中以玻尔兹曼机为引,介绍了受限玻尔兹曼机。从本节开始,将正式介绍玻尔兹曼机。相比于它的表示和推断过程,我们更关注它在求解过程中出现的问题。

静静的学习就好 7923

org.springframework.dao.InvalidDataAccessApiUsageException

经过排查实体类中主键id为自动生成字段,而在代码中手动给id赋值了因此导致了hibernate报错。在代码中,id字段是该实体类主键,其值为自动生成的randomUUID。因此在给实体对象赋值时,应注意避免给自动生成字段赋值。

qq_35963482的博客 4689

滤波算法-呼吸心跳信号检测方法(四)

呼吸心跳信号检测系列文章:信号滤波处理

yjh_2019的博客 6268

已解决org.springframework.dao.InvalidDataAccessApiUsageException异常的正确解决方法,亲测有效!!!

通过以上详细的解决方法,你可以高效地诊断并解决异常。重要的是要细致地理解Spring事务管理的工作原理,并合理设计事务策略和业务逻辑,以避免此类问题再次发生。希望本文对你有所帮助,让你的Spring应用更加健壮和稳定。以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果本文对你有帮助 欢迎关注、评论, 博主才有动力持续记录遇到的问题!!!博主v:XiaoMing_Java嗨,大家好,我是小明java问道之路。

小明的Java问道之路 5928

WPF+Prism+LiveCharts+materialdesignin 搭建WPF开发框架

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容。

T_Tboy的博客 3049

《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》

《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》

东城绝神 1367

org.springframework.dao.InvalidDataAccessApiUsageException问题解决与分析

今天在撸代码过程中遇到一个异常,解决之后记录一下,希望给同样遇到这个问题的人一个思路,也给自己的粗心大意提个醒:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Sess

jilijelon 3万+

EEGLAB+ERPLAB实战:从.cnt文件到情绪ERP差异波,一份避坑指南

本文详细介绍了使用EEGLAB和ERPLAB处理Neuroscan的.cnt格式脑电数据的全流程,从数据导入、预处理到情绪ERP差异波生成。重点解决了采样率验证、事件标记检查、重参考选择、滤波策略与ICA组合等实操难题,并提供了情绪图片ERP研究中P1、EPN和LPP成分的分析技巧,帮助研究者避免常见错误,提升数据处理效率。

weixin_26795617的博客 264

Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly

 错误代码:  org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove readOnly ma

我的世界我的梦 5104

AMD显卡跑MiniMax H3提速30%:SageAttention ROCm适配全记录

在Transformer架构的视频生成模型中,注意力计算往往是性能瓶颈,尤其当显存资源受限时,低精度量化与内核优化成为关键突破口。SageAttention通过将QK^T矩阵乘法量化为INT8,并以FP16/INT4表达注意力概率矩阵,在保证画质的前提下显著降低访存与计算开销,相比传统FlashAttention具备更高速度上限。这一技术价值在本地部署场景尤为突出——当用户使用非NVIDIA显卡运行大型视频模型时,通用优化库常因依赖CUDA而失效。本文聚焦AMD ROCm平台下的MiniMax H3视频生成

weixin_32238157的博客 264

【NodeRed】node-red-contrib-opcua实现PLC读写

在之前的博文【Node-RED】node-red-contrib-opcua-server模块使用(1)中,我们介绍了用node-red-contrib-opcua-server模块实现OPCUA服务端的,以及二次开发的内容。本节博文中我们采用官方社区自带的node-red-contrib-opcua组件开展对OPCUA客户端的介绍,详细阐述用该组件中OpcUa-Client节点实现客户端对PLC的读写,以及实现过程中遇到的问题。由于官方社区中并没有找到该组件的介绍实例,这也是本博文编写的第1个原因。

weixin_48618536的博客 957

Write operations are not allowed in read-only mode

转载:http://hi.baidu.com/gzwfdy/blog/item/39dc13cb20593f1bbe09e65f.html   错误代码:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.N...

calfman的专栏 193

Figma 设计稿转前端代码:Cursor 实现 UI 还原的 4 种精准映射方法

揭示 Figma 设计稿转前端代码失效的根本原因在于四层语义未对齐(像素→布局、视觉→样式、交互→行为、意图→架构),提出以语义标注为核心的结构化喂数据方法,详解通过图层命名、Description 字段和 Markdown 上下文锚点实现高精度 React 组件生成,并给出可落地的避坑指南与实测提

weixin_42545292的博客 138

Spring OpenSessionInView 模式详解:原理、配置、问题与最佳实践

OpenSessionInView模式是Spring为解决Hibernate延迟加载(LazyInitializationException)问题提供的方案,通过保持Session开放至请求完成来实现视图层延迟加载。配置方式包括Filter和Interceptor两种,需注意Filter顺序和singleSession参数设置(建议true)。其核心原理是将Session绑定到请求线程,默认设为FlushMode.NEVER,事务方法自动转为FlushMode.AUTO获得写权限。

ywl470812087的博客 9万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[spring]:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode

 org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove

xiaolang85的专栏 3666

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SSH框架org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in

在SSH框架中遇到这种错误 org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or 

u012592358的专栏 618

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Write operations are not allowed in read-only mode (FlushMode.NEVER) 错误解决

错误代码:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' m...

小宝 179

Write operations are not allowed in read-only mode问题处理

参考自: http://hi.baidu.com/woiwojia/blog/item/08755f032f75607e3812bb8c.html http://blog.sina.com.cn/s/blog_5dc12c490100crr5.html   错误代码: org.springframework.dao.InvalidDataAccessApiUsageException: W...

漂流的足迹 292

Write operations are not allowed in read-only mode 解释二

最近在配置 Structs, Spring 和Hibernate整合的问题: 开启OpenSessionInViewFilter来阻止延迟加载的错误的时候抛出了这个异常:     org.springframework.dao.InvalidDataAccessApiUsageException错误 但是在我们开启OpenSessionInViewFilter这个过滤器的时候FlushMod...

keke_Xin的专栏 172

Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)

今天遇到一个这个异常: org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or re...

feimengqunqun的博客 145

org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read

这是自己遇到一个困扰很久的问题: 问题描述:就是在一个serviseimpl中使用保存相关方法时出现此类错误 控制台错误信息: org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUA...

m0_37452861的博客 315

Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushM...

最近在配置 Structs,spring和hibernate整合的问题: 开启OpenSessionInViewFilter来阻止延迟加载的错误的时候抛出了这个异常:     org.springframework.dao.InvalidDataAccessApiUsageException错误 但是在我们开启OpenSessionInViewFilter这个过滤器的时候FlushMod...

weixin_30867015的博客 142

解决org.springframework.dao.InvalidDataAccessApiUsageException

今天在学习Spring Data JPA的关联关系查询时遇到一个错误,org.springframework.dao.InvalidDataAccessApiUsageException。 仔细看了控制台信息: org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientPropertyV...

SnowMultiflora的博客 1万+

org.springframework.dao.InvalidDataAccessApiUsageException 原因和解决

在springmvc 和 hibernate 整合开发中出现一下错误Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction defini

mangues 2万+
上一篇: 面对几个错误的解决关键
下一篇: Write operations are not allowed in read-only mode
sukyle
博客等级 码龄18年 41粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值