我有一种情况,需要使用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)