我的存储库中有以下@Query:

@Query(value = "SELECT * FROM tableA a WHERE a.id IN :listId ",
    nativeQuery = true)
public Page<ObjectA> findInById(@Param(listId) List<String> listId);


我想选择所有元素,如果listId为空或为null。

我怎样才能做到这一点?如果可能的话,我想保留@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);

10-07 16:23