SpringJAP修改表数据时遇到的问题

17 篇文章 0 订阅
1 篇文章 0 订阅

   最近在做一个需求,使用的是SpringJPA框架去做的,遇到了一个问题 简单来说就是  我查询出来A表和B表的数据 然后对应的A和B的实体都做了赋值修改,然后我只想修改B表的数据 然后使用仓库repository.save(B)的方法,神奇的事情发生了,最后查看数据的时候 A表和B表的数据都按照我修改赋值的那样 发生了变化 ,也就是说 我再修改B表数据的时候 哪怕不调用A表仓库repository.save(A)的方法 数据库也会把A表的数据做修改。

   因为我之前做的控制是

   if(条件成立){

       A仓库repository.save(A);

}

只要是A的模型发生了改变,你再修改其他表数据修改其他表数据的时候 A表也会一起更新。所以后面我的做法就是把判断提前到了修改A表数据之前 这样修改B表的时候 A表的数据没有发生变化 所以就不会执行update操作,下面我模拟复现一下场景,可以看出来:

1.首先2张表的put_status都是1

A表

B表

 

2.使用JPA查询出来数据然后都重新赋值为3

3.控制台打印

 

我这里只更新了B表的数据 但是由于A表的数据我重新给实体赋值了,所以在更新B表的时候A表也同样一起执行了更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值