java - 如果列表为空/null,则 IN 子句选择所有元素
问题描述
我的存储库中有以下@Query:
@Query(value = "SELECT * FROM tableA a WHERE a.id IN :listId ",
nativeQuery = true)
public Page<ObjectA> findInById(@Param(listId) List<String> listId);
listId
如果为空或为空,我想选择所有元素。
我怎样才能做到这一点?如果可能的话,我想保留@Query
.
解决方案
只需添加一个或条件,例如
@Query(value = "SELECT * FROM tableA a
WHERE (a.id IN :listId or coalesce(:listId , null) is null)",
nativeQuery = true)
public Page<ObjectA> findInById(@Param(listId) List<String> listId);
推荐阅读
- qt - 如何使用 QWidget 开发无窗口插件?
- bevy - 获取实体的所有组件
- java - 带有 Apache POI FindException 错误的 JavaFX
- python - 使用key时如何处理scrapy中的空字段
- python - 我无法在我的项目中导入 kivy,我收到错误,它没有看到模块
- parallax.js - parallax.js 有问题吗
- class - 循环遍历类成员并生成代码的宏
- python - 无法在 FLASK 中连接 2 个应用程序
- python - 编辑 PySimpleGUI 中的设计元素和按钮故障
- performance - 如何加速theano扫描模块?