In looking at the Query Creation for the Spring Data JPA Repositories, I'm wondering how I would reuse a parameter. For example, how would I name the method if I wanted to do something like:
@Query("select c from #{#entityName} c where c.lower <= ?1 and c.upper >= ?1")
E findByConversionFor(Double amount);
Can that query be converted to a SpEL method name (to be used by the query builder)?
It seems like a kludge to require the same value to be passed twice:
E findByLowerLessThanOrEqualAndUpperGreaterThanOrEqual(Double a, Double b); // where a==b
Just mark your parameter with @Param("amount")
and then will be able to use it by name:
@Query("select c from #{#entityName} c where c.lower <= :amount and c.upper >= :amount")
来源:https://stackoverflow.com/questions/44661123/how-do-i-reuse-a-parameter-witha-spring-data-jpa-repository