我正在尝试在单个 sql 中获取记录。我想使用可选的 WHERE 子句来做到这一点。这是我试过的 @Query(value = "select * from Products p where type = 'L' and active =
1 and ?1 is null or p.pNum =?1", nativeQuery = true)
public List<Products> findAllParties(String productNumber);这没有用。当参数为空时,我想带上所有记录,否则我想只带指定的产品。我怎么做?提前致谢。
3 回答
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
制作2个单独的方法
@Query(value = "select * from Products p where type = 'L' and active =
1 and ?1 is null or p.pNum =?1", nativeQuery = true)
public List<Products> findAllParties(String productNumber);
@Query(value = "select * from Products p ", nativeQuery = true)
public List<Products> findAllParties();
30秒到达战场
TA贡献1828条经验 获得超6个赞
select * from Products p where req_param is null or ( type='L' and active=1)
因为如果 req_param 为 null 它将对所有行都为真,因此将带来所有记录。如果 req_param 不为空/空条件“req_param is null”将为 false,并且仅基于“(type='L' and active=1)”返回行
添加回答
举报
0/150
提交
取消