spring - 带有变量 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
s
select * FROM Purchase WHERE cardId in(1, 10) ORDER BY purchasedate desc
所以你可以使用
public List<Purchase> getAllByCardIdIn(List<Long> cardIds)
推荐阅读
- eclipse-plugin - 如何在 MenuManger 中动态隐藏菜单
- asynchronous - 如何使用只有 BroadcastBlock 和 ActionBlock 的数据流
- css - 不允许重复的背景图像 - CSS LINT
- android - Hilt 在 API 级别 18 上崩溃
- php - 如何编写保留 $_POST 并一致删除文件扩展名的 .htaccess?
- kubernetes - Kubernetes Ingress 在错误的地方寻找秘密
- wordpress - WP cron 的 Wordpress 替代品
- azure - Azure Vmss 虚拟机正常运行时间
- r - r left_join 排除要加入的列
- linux - 在 Linux find 命令中包含所有字符