有一个商品实体, 每个商品针对不同的会员等级会有不同的价格, 如
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呢?
继承 JpaRepository接口有支持批量操作的方法在。
可以同时使用jpa跟jdbcTemplate的,去注入一下就可以.
个人感觉你这个写的问题挺大。第一需要 @Modify,第二需要三个参数。通过@PersistenceContext注解注入EntityManager对象然后自己写QL语句,用EntityManager对象来做持久化操作就好了!这个地方需要自行实现版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。