我正在尝试通过使用以下查询的JPA存储库在春季更新表中的列
@Modifying
@Query("UPDATE Price p SET p.price=:price where p.timePeriod=:timePeroid and p.outletVariety.outletProduct.outlet.id=:oId and p.outletVariety.variety.id=:vId")
Integer updatePriceForVarietyandOutlet(@Param("price") Double price,@Param("timePeroid") LocalDate timePeroid,@Param("oId") Long oId , @Param("vId") Long vId);
但是我遇到了异常
org.springframework.dao.InvalidDataAccessResourceUsageException:无法执行语句; SQL [n / a];嵌套的异常是org.hibernate.exception.SQLGrammarException:无法执行语句
我在某处读到JPA更新中不允许JOIN,所以我尝试按照以下方式使用本机查询
update pi.price join pi.outlet_product_variety on pi.price.outlet_vareity_id=pi.outlet_product_variety.id join pi.outlet_product on pi.outlet_product_variety.outlet_product_id=pi.outlet_product.id set price =10 where time_period='2018-01-01' and vid=698
但是它仍然不起作用,也没有例外。 该问题的解决方案是什么? 谢谢