Использование именованных параметров для метода, когда я использую @Query - PullRequest
0 голосов
/ 09 мая 2019

Я использую 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

я получаю следующее исключениекак я это исправлю?думает.

1 Ответ

2 голосов
/ 09 мая 2019

Это не то, как вы пишете @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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...