1 java spring jpa spring-data-jpa spring-boot
我正在使用 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);
}
Run Code Online (Sandbox Code Playgroud)
我在开始时遇到以下异常
Caused by: java.lang.IllegalStateException: Using named parameters for method public abstract xxxxxx
Run Code Online (Sandbox Code Playgroud)
我该如何解决它?想。
这不是编写@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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21199 次 |
| 最近记录: |