记一次JPA不同查询得到同一对象修改发生异常的问题

在公司做项目的时候,根据数据库一个排序字段进行排序,在对该字段进行修改的时候,需要保证修改后顺序依然是连续正确的,做的时候我查询了两次,通过ID查询得到要修改的数据修改之前的值,然后再通过序号查询到修改后哪些值的序号需要调整。

在循环中进行修改的时候,发现本来修改的ActivityAdsDO的值,但是adsDO的值也改了,最后发现是查询的时候查询出来是同一条数据,只是引用不一样,内存地址是一样的,所以修改ActivityAdsDO等于修改adsDO,在此记录一下,只需要在进行if判断的时候用ID进行判断,其实就可以了

for进行遍历后查询出来的集合,if判断sort值(错误做法,需要改为id判断)
图片

先查询的地址
图片

后查询得到的集合,遍历后的某一个对象的地址,与先查询的一样,是同一个对象,只是引用不同。
图片

-------------本文结束感谢您的阅读-------------

本文标题:记一次JPA不同查询得到同一对象修改发生异常的问题

文章作者:Zhoutzzz

发布时间:2019年07月19日 - 22:07

最后更新:2021年01月14日 - 23:01

原始链接:https://zhoutzzz.github.io/2019/07/19/记一次JPA不同查询得到同一对象修改发生异常的问题/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。