正如前面提到的问题的不同答案中提到的,以下HQL结构对我有用:
select o from Product o WHERE :value is null or o.category = :value
如果 作为 传入 ,则返回所有产品。:value
null
另请参见可选参数或空参数
请注意,由于此错误,这在某些版本的Sybase中不起作用,因此以下是替代方法:
select o from Product o WHERE isnull(:value, 1) = 1 or o.category = :value