Spring jpa update对象会有多余的select语句

tony-cyq 发布于 2016/06/24 21:27
阅读 815
收藏 0

这个对象设置了ManyToMany关联,使用jpa save方法的时候,测试有下面的现象:

  1. new 这个对象,设置ID主键,并设置需要更新字段的值,所以这个时候它是游离状态的。
    调用spring data jpa的save 方法时,jpa会根据是否有ID字段去执行新建或者更新,这里为更新操作。这样发现执行更新的时候,会有多余的select语句查询关联对象。

  2. 先通过jpa get这个对象,然后set需要更新的字段,这个对象就被jpa管理,这样执行save操作,就只有一条update语句。

那么问题来了,一般都是前端传递参数到后台,不会知道需要更新哪些字段,针对1的情况,怎么解决掉多余的查询语句?

加载中
0
kedadiannao220
kedadiannao220
我们都是整条数据保存的。前端update操作的时候,会将主键,需要更新的数据传过来;后端根据主键查询,然后将需要更新的数据塞进去,再调用save的方法。
返回顶部
顶部