在使用 Hibernate 时,有什么方法可以在命名查询中指定可选参数(例如,当搜索参数是从表单提供时,并非所有参数都是必需的) ?我正在使用 native SQL查询,但该问题可能适用于命名 HQL查询也是如此。
我很确定这个问题的答案是否定的,但我还没有在文档中找到明确的答案。
最佳答案
正如前面提到的 different answer 的 question 中所提到的,以下 HQL 构造适用于我:
select o from Product o WHERE :value is null or o.category = :value
如果 :value
作为 null
传入,则返回所有产品。
另见 Optional or Null Parameters
请注意,由于 this bug,这在 Sybase 的某些版本中不起作用,因此以下是替代方法:
select o from Product o WHERE isnull(:value, 1) = 1 or o.category = :value
关于java - Hibernate中带有命名查询的可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444603/