【问题标题】:JPA Query with variable OR expressions带有变量 OR 表达式的 JPA 查询
【发布时间】:2021-01-09 12:04:42
【问题描述】:

我有一种情况,我需要使用 JPA 根据用户卡(卡的数量因用户而异)提取购买记录。

等效的 SQL 查询类似于: select * FROM Purchase WHERE cardId=10 OR cardId=1 OR.... ORDER BY purchasedate desc;

我的 DAO 方法签名是:

public List<Purchase> getPurchases(List<Card> cardsList)

我相信我将不得不使用条件查询,但我不太确定如何实现它。

【问题讨论】:

  • 看看这个帖子:POST

标签: spring jpa


【解决方案1】:

我建议你使用IN语句而不是多个ORs

select * FROM Purchase WHERE cardId in(1, 10) ORDER BY purchasedate desc

所以你可以使用

public List&lt;Purchase&gt; getAllByCardIdIn(List&lt;Long&gt; cardIds)

【讨论】:

    猜你喜欢
    • 2016-01-12
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    相关资源
    最近更新 更多