spring-data-jpa - 如何使用Spring Data Jpa进行批量更新?

标签 spring-data-jpa

如何使用Spring Data Jpa进行批量更新?
我有商品实体,对于差异用户级别,有差异价格,例如

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);

但是会引发异常,
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数据Jpa实现批量更新呢?

最佳答案

我认为根据docs,使用Spring Data JPA是不可能的。您必须查看普通的JDBC,there are a few methods regarding batch insert/updates

但是,you can do it with Hibernate fairly easy

关于spring-data-jpa - 如何使用Spring Data Jpa进行批量更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33462221/

相关文章:

java - 如何使用 Mockito 模拟可分页对象?

java - 同一列上的多个复合唯一约束

java - Hibernate更新实体最佳实践

java - Spring CrudRepository findByInventoryIds(List<Long> inventoryIdList) - 相当于 IN 子句

java - 独立 JPA 序列

java - AspectJ:自定义 *.aj 文件被忽略

java - Spring JPA 方法查找具有 beforeAndEqual 日期和 afterAndEqual 日期的实体

带有 MongoDB View 的 Spring 数据

java - 使用带 REF_CURSOR 的存储过程的 Spring 存储库

spring-data-jpa - 如何在Spring Data Jpa中找到前N个元素?