我正在像这样使用Spring数据JPA:
public interface SampleRepository extends CrudRepository<Sample, Integer>{
@Query("SELECT s FROM Sample s WHERE ((:ids) IS NULL OR s.id IN (:ids))")
List<Sample> queryIn(@Param("ids") List<Integer> ids);
}
但是当ids不为空时,我得到(1,2,3)为null,这在mysql中是不正确的。
如果我这样写:
public interface SampleRepository extends CrudRepository<Sample, Integer>{
@Query("SELECT s FROM Sample s WHERE s.id IN (:ids)")
List<Sample> queryIn(@Param("ids") List<Integer> ids);
}
当id为空时,我在(null)中得到s.id
如果我必须使用本机查询来执行此操作。有什么建议吗?
答案 0 :(得分:0)
我猜您想使用ISNULL函数查看:ids是否具有值
SELECT s FROM Sample s WHERE s.id IN (:ids)) or ISNULL(:ids) = 1