具有可变OR表达式的JPA查询



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

等效的SQL查询如下所示:select * FROM Purchase WHERE cardId=10 OR cardId=1 OR.... ORDER BY purchasedate desc;

我的DAO方法签名是:

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

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

我建议您使用IN语句,而不是多个OR

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

所以你可以使用

public List<Purchase> getAllByCardIdIn(List<Long> cardIds)

最新更新