Spring data jpa中如何实现批量更新?

zgw06629 发布于 2015/11/01 21:27
阅读 11K+
收藏 1

有一个商品实体, 每个商品针对不同的会员等级会有不同的价格, 如

goodsId level price
1 1 10
1 2
9
1 3 8

当更新商品的时候想批量更新价格,就向下面这样


@Query(value = "update GoodsPrice set price = :price where goodsId=:goodsId and level=:level")
  void batchUpdate(List<GoodsPrice> goodsPriceList);

但是Spring Data Jpa不支持上述写法,报错



Caused by: java.lang.IllegalArgumentException: Name for parameter binding must not be null or empty! For named parameters you need to use @Param for query method parameters on Java versions < 8.

到底Spring data jpa中如何实现批量更新呢?save(Iterable<S> entities)不算

能不能同时使用Spring data jpa和spring jdbc template呢?



加载中
0
p2ng
p2ng

继承JpaRepository接口有支持批量操作的方法在。

可以同时使用jpa跟jdbcTemplate的,去注入一下就可以.

0
分流砥柱
分流砥柱
个人感觉你这个写的问题挺大。第一需要@Modify ,第二需要三个参数。
0
随风所欲
随风所欲
通过@PersistenceContext注解 注入EntityManager对象 然后自己写QL语句,用EntityManager对象来做持久化操作就好了!
0
大王来巡山
大王来巡山
这个地方需要自行实现
返回顶部
顶部