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

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

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

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

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

阅读 5.7k
1 个回答

我也遇到了。这个貌似没办法只能先查询再修改。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题