gpt4 book ai didi

java - 当我使用 @Query 时,为方法使用命名参数

转载 作者:行者123 更新时间:2023-12-02 01:31:05 24 4
gpt4 key购买 nike

我正在使用 spring-data-jpa,我想更新一些东西,我已在 PaySupplierSettleBillRepository 中将我的方法注释为

public interface PaySupplierSettleBillRepository extends JpaRepository<PaySupplierSettleBillEntity, Long>,
JpaSpecificationExecutor<PaySupplierSettleBillEntity> {

@Modifying
@Query("update PaySupplierSettleBillEntity p set p.payTime=:payTime,p.paymentOrder=:paymentOrder, p.transferTime=:transferTime, p.transferBank=:transferBank, p.transferOrder=:transferOrder, p.operatorName=:operatorName, p.remark=:remark where p.orderNumber=:orderNumber")
int updatePayInfo(PaySupplierSettleBillEntity entity);
}

我在启动时遇到以下异常

Caused by: java.lang.IllegalStateException: Using named parameters for method public abstract xxxxxx

我该如何解决这个问题?认为。

最佳答案

这不是编写带有命名参数的 @Query 的方式。请查看此处 Spring 文档中的示例 ( https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.named-parameters )。

如果你想提供一个对象作为参数,你可以这样做。

@Query("UPDATE Entity E SET E.name = :#{#entity.name}")
public void updateEntity(@Param("entity") Entity entity);

关于java - 当我使用 @Query 时,为方法使用命名参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56053158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com