我们可以在Spring JPA @Query中替换等于或大于或小于运算符的值吗?

时间:2019-11-07 14:00:14

标签: spring-boot jpa spring-data-jpa

我对Spring,Springboot,JPA还是陌生的,并且被其中一项要求所困扰。 下面是查询:

{{1}}

在这种情况下,我试图根据其他应用程序的请求数据动态替换“大于”,“小于”或“等于”运算符。

请帮助我或指导我在Springboot JPA中以正确的方式进行操作。

谢谢!

感谢和问候 Shanu

2 个答案:

答案 0 :(得分:0)

您可以简单地使用repository-query-keywords

List<RequiredAccountEntity> findByDebitAccNoEqualsAndDateLessThanEqualAndGreaterThanEqualAndTnxAmtEquals(String debitAccNo, Date fromDate, Date toDate, String tnxAmtFlag);

答案 1 :(得分:0)

您可以尝试:

...
where (:tnxAmtFlag = '<' and re.tnxAmt < :tnxAmt)
or (:tnxAmtFlag = '>' and re.tnxAmt > :tnxAmt)
or (:tnxAmtFlag = '=' and re.tnxAmt = :tnxAmt)
...

如果在未指定任何运算符的情况下需要获取所有结果,请使用:

...
where :tnxAmtFlag is null
or (:tnxAmtFlag = '<' and re.tnxAmt < :tnxAmt)
or (:tnxAmtFlag = '>' and re.tnxAmt > :tnxAmt)
or (:tnxAmtFlag = '=' and re.tnxAmt = :tnxAmt)
...