如何在Spring-Data-JPA Repository中重复使用参数?

5
在查看Spring Data JPA Repositories的查询创建时,我想知道如何重新使用参数。例如,如果我想要做到这样的事情,我该如何命名方法:
@Query("select c from #{#entityName} c where c.lower <= ?1 and c.upper >= ?1")
E findByConversionFor(Double amount);

这个查询能否转换为SpEL方法名(供查询构建器使用)?

需要两次传递相同的值似乎是一个笨拙的做法:

E findByLowerLessThanOrEqualAndUpperGreaterThanOrEqual(Double a, Double b); // where a==b

请看:https://dev59.com/umIk5IYBdhLWcg3wTcUr - Rana_S
1个回答

2

只需使用@Param("amount")标记您的参数,然后就可以按名称使用它:

@Query("select c from #{#entityName} c where c.lower <= :amount and c.upper >= :amount")

3
可以,这对于 JPQL 查询非常有效。请问您知道我如何在 SpEL 方法中重用参数吗? - end-user
那么,没有办法通过“查询方法名称创建”吗?(无需使用@Query注释) - Mr. Anderson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接