博客
关于我
hibernate mysql 关联查询_spring-boot hibernate 双向关联查询的坑
阅读量:792 次
发布时间:2023-01-24

本文共 411 字,大约阅读时间需要 1 分钟。

为避免Hibernate在关联关系中引起的循环注入问题,可以通过合理设置关联类型和缓冲策略来实现双向数据关联而不出现无意义的循环。

首先,确保使用稀疏集合处理。通过在User类中将Info字段标记为@OneToOne(cascade=NONE),可以避免从Info对象查询User对象时,自动注入回User中的Info。这意味着Hibernate只会在访问Info的关连对象时,主动查询User对象,但不会反过来将User对象中的Info重新注入。

其次,在Info类中保持原有的@OneToOne(cascade=ALL)注解,这样当从Info对象调用查询方法时,会正确注入User对象。这种设置确保了Info对象能够通过关系找到对应的User对象,而不会触发双向的注入循环。

这种方法以其直接性和有效性而著称,既保证了数据的一致性,又维护了系统的运行效率。通过这种调整,可以避免无需的循环注入需求,让系统运行更加顺畅。

转载地址:http://foeyk.baihongyu.com/

你可能感兴趣的文章
CentOS系列:【Linux】CentOS7操作系统安装nginx实战(多种方法,超详细)
查看>>
CSDN----Markdown编辑器
查看>>
Docker部署postgresql-11以及主从配置
查看>>
EnvironmentNotWritableError: The current user does not have write permissions to the target environm
查看>>
Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)
查看>>
Hyper-V系列:微软官方文章
查看>>
Java系列:【注释模板】IDEA中JAVA类、方法注释模板教程
查看>>
Kali 更换源(超详细,附国内优质镜像源地址)
查看>>
kali安装docker(亲测有效)
查看>>
Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置
查看>>
Linux系列:ubuntu各版本之间的区别以及Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式
查看>>
mysql系列:远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法
查看>>
Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案
查看>>
Nmap渗透测试指南之探索网络
查看>>
Nmap渗透测试指南之防火墙/IDS逃逸、信息搜集
查看>>
Nmap端口服务 之 CentOS7 关于启动Apache(httpd)服务、telnet服务、smtp服务、ftp服务、sftp服务、snmp服务
查看>>
PHP系列:PHP 基础编程 2(时间函数、数组---实现登录&注册&修改)
查看>>
PHP系列:使用PHP实现登录注册功能的完整指南
查看>>
Python&aconda系列:cmd/powershell/anaconda prompt提示“系统找不到指定的路径”(亲测有效)
查看>>
Python&aconda系列:conda踩坑记录2.UnsatisfiableError: The following specifications were found to be incompa
查看>>