JPA -EntityGraph 实体图失效问题

jpa查询方便了查询,但是有时会也会影响性能,有时候会加载深度过深和加载了不需要但非常占用内存的数据。所以此时可以使用实体图,懒加载或者不加载某些数据。这些数据可以是不同层级上的。

但是最近发现代码中出现实体图失效的问题。查询资料并没有找到原因。

后排查发现是事务影响到了实体图的生效。结合查询的资料https://www.cnblogs.com/ymqj520/p/14046986.html代理会使实体图失效(按照资料中的处理方式并没有解决我的问题)。综合来看应该是事务注解是AOP,是通过代理实现的。导致了实体图失效。

解决办法有以下几种:

1.增加新的实体类,去掉需要的数据,重写DAO

2.缩小事务范围,在使用实体图的查询放在事务外面

3.抽出实体图的查询,增加方法使用NOT_SUPPORTED传播级别。

综合评估使用了第三种方案,但是此种方案也有坑存在。

同类中的this调用的方法的传播级别不生效,要特别注意

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/40121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年7月3日 (周三) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键,实现一键唤起、一键隐藏的 Windows 工具,并且支持窗口动态绑定快捷键(无需设置自动实现)。 卸载工具 HiBitUninstaller: Windows上的软件卸载工具 《魅魔》新DLC《Elysian Fields…

python 利用 opencv 调用摄像头

在进行工程实训的时候,要检测摄像头是否可用 如果想检测摄像头是否能够打开运行,试试运行下面这个文件,这个文件就是简单的一个用opencv捕捉摄像的代码,如果出现运行错误,先改改代码内 cap cv2.VideoCapture(0) 这句&…

红队攻防渗透技术实战流程:红队目标上线之免杀对抗-Webshell篇魔改哥斯拉打乱特征指纹新增后门混淆过云查杀过流量识别

红队攻防免杀实战 1. 免杀对抗1.1 免杀对抗-哥斯拉魔改分析1.2 魔改哥斯拉-JAR反编译打包构建1.2.1 工具反编译1.2.2 新建lib,添加源码1.2.3 新建项目,配置构建1.3 魔改哥斯拉-防识别-打乱特征指纹1.3.1 版权修改1.3.2 去除hash验证1.3.3 哥斯拉流量特征1.3.3 webshell生成模…

​RAG与LLM原理及实践(8)--- Chroma 应用场景及限制

前言 通过前面几节的介绍,你应该对Chroma的运作原理有相当透彻的理解。Chroma的设计正如之前描述的: Chroma提供的工具: 存储文档数据和它们的元数据:store embeddings and their metadata 嵌入:embed documents an…

C++知识点总结(36-39):深度优先搜索算法综合练习

深度优先搜索算法练习 一、递归1. 变化的数2. 数字分解 二、DFS1. 八个方向的迷宫2. n 皇后3. 玩具蛇4. 深度优先搜索顺序5. 单词消消乐6. 奇怪的系统7. [USACO23JAN] Air Cownditioning II B 三、排列组合选择同学 四、剪枝优化1. 走迷宫2. 危险的工作3. 规定时间走迷宫 *本篇…

粗糙度轮廓仪功能简介:一体型轮廓仪功能亮点

在精密制造和质量控制领域,表面粗糙度和轮廓的精确测量是至关重要的。一体型轮廓仪为这一需求提供了全面的解决方案。它采用超高精度纳米衍射光学测量系统、超高直线度研磨级摩擦导轨、高性能直流伺服驱动系统、高性能计算机控制系统技术,为用户提供了一…

使用机器学习,通过文本分析,轻松实现原本复杂的情感分析

01、案例说明 本期分享案例是:文字分析-情感分析,内容是关于某部电影评论好坏的分析,使用大量的已知数据,通过监督学习的方法,可以对于未知的评论进行判断其为正面还是负面的评价。 对于数据分析,原来都是…

深⼊理解分布式锁常用方案,研究过Redisson和Curator框架的源码

分布式锁是分布式系统中确保多个节点对共享资源进行同步访问的关键技术。以下是对分布式锁常用方案以及Redisson和Curator框架源码的一些深入理解: ### 分布式锁常用方案 1. **基于数据库的乐观锁**: - 通过在数据表中添加版本号或时间戳字段&#…

Go语言学习:每日一练3

Go语言学习:每日一练3 目录 Go语言学习:每日一练3方法接口继承类型断言 方法 方法是一类有接收者参数的函数。 接收者的类型定义和方法的声明必须在一个包里 type MyInt intfunc (m MyInt) Add(add int) int {return int(m) add } //OR func (m *MyInt)…

巴图制自动化Profinet协议转Modbus协议模块连接PLC和电表通信

1、免编写Modbus轮询程序实现PLC与电表通信的方法 在智能化时代,工业自动控制中的PLC和电表之间的通信是一个常见的需求。传统上,为了使PLC与电表通信,通常需要编写Modbus查询程序来读取和控制数据。然而,使用 巴图制自动化Prof…

235、二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自…

用 AI 生成绘本,含大量 prompt

画图过程,为了保证绘本输出的风格统一,角色连贯,画面内容与故事保持一致 1、画风统一的解决办法:固定一个插画师的风格,可以输入插画师的名字,或者垫图,即上传你需要借鉴风格的图片 2、角色连贯…

Spring Security6.3.0版本出现无法解析符号

Spring Security 6.3.0版本出现“无法解析的符号”错误通常意味着项目中缺少了必要的类或者资源,或者可能是因为项目的依赖关系配置不正确。 解决方法: 确认依赖:检查pom.xml或build.gradle文件中是否正确添加了Spring Security的依赖&…

Redis中测试Stream的例子

当你想要测试 Redis 中的 Stream 功能时,可以通过 Redis 的命令行客户端或者使用任何支持 Redis 的编程语言来操作。下面我会给出一个简单的例子,使用 Redis 的命令行客户端 redis-cli 来测试 Stream 的基本功能。 准备工作 确保你已经安装并启动了 Re…

聚焦西安应博会|2024西安城市安全应急产业展9月精彩呈现

2024西安城市安全应急产业博览会 时间:2024年9月12日-14日 地点:西安国际会展中心 运营:西安西部文化产业博览会有限公司 【展会简介】 为推动安全应急装备向智能化、成套化、专业化方向发展,迎接新质生产力在应急产业新技术…

应广PMS150C系列 应广8位OTP IO单片机

1、特性 不建议使用于AC 阻容降压供电或有高EFT 要求的应用。应广不对使用于此类应用而不达安规要求负责 工作温度范围:-20C~70C 2、系统特性 1KW OTP 程序内存 64字节数据存储器 硬件 16位定时器 1个8位硬件PWM生成器 1个通用比较器 快速唤醒功能 …

nccl-test多机多卡测试

ssh免密登录 ubuntu默认安装有SSH client,还需要安装 SSH server sudo apt install openssh-server本机生成公私钥 cd ~/.ssh ssh-keygen -t rsa在.ssh/目录下,会生成两个文件:id_rsa和id_rsa.pub 注意:正确配置.ssh目录以及其…

linux下Java11无jre文件夹的问题

项目升级需要更高级的Java版本,于是下载了jdk-11.0.22_linux-x64_bin.tar.gz,解压后jdk-11.0.22下没有jre,导致eclipse下“build path”无法加载jre。 Java11以上版本不在提供jre,Java11安装后,需要如下处理&#xff1…

贝叶斯优化算法(Bayesian Optimization)及其Python 和 MATLAB 实现

贝叶斯优化算法(Bayesian Optimization)是一种基于贝叶斯统计理论的优化方法,通常用于在复杂搜索空间中寻找最优解。该算法能够有效地在未知黑盒函数上进行优化,并在相对较少的迭代次数内找到较优解,因此在许多领域如超…

ElementUI中的el-table解决宽度问题 - 根据内容自动撑开

在使用element-ui中,会发现表格组件el-table在未指定宽度情况下,会自动计算并给表格宽度赋值。但实际开发中,有时需要根据内容实际长度自动撑开显示,由内容的多少而决定表格的宽度,而不是默认宽度为100%。在默认情况下…