多对多关联表数据会突然被删除

本文探讨了一种Hibernate框架中多对多关联数据突然消失的问题,并提供了详细的解决方案。通过理解懒加载机制,作者发现未配置@Lazy(false)会导致新增关联被自动删除,最终通过配置解决该问题。

工作中遇到个bug,多对多关联表的数据会突然没有了,手动从数据库加上一条关联数据进行测试也是被删除了,代码中没有写任何删除关联表的操作,用的是hibernate,网上找了下,应该是懒加载的问题。如果没有在实体上配置@Lazy(value = false)。个人猜想每次用实体去get另一个实体集合的时候应该会先从hibernate的缓存中去读取,然后这个时候手动加入数据库的关联数据并没有加载到缓存中,所以在做保存的时候hibernate会自动删除手动添加的那条关联数据。解决办法在多对多关联上加上@Lazy(value = false),目前已解决该问题,没有出现自动删除关联表的数据。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值