我有以下查询:条件和使用Hibernate
@NamedQuery(name = "User.findByParams", query=
"SELECT *
FROM User user
WHERE user.name type = :inputType")
我想补充AND
声明,将采取只有当输入提供的地方:
@NamedQuery(name = "User.findByParams", query=
"SELECT *
FROM User user
WHERE user.name type = :inputType AND (:ageInput != null AND user.age > :ageInput")
这意味着,如果ageInput被提供,也由它进行过滤。如果不是 - 忽略这个参数。有任何想法吗?
任何想法?
不是在一个命名查询(据我所知)。对此使用'Criteria' API – XtremeBaumer
不适用于SQL方式!正如@XtremeBaumer所说,从JPA2开始,您可以使用Criteria API作为 – elrado
'... AND(:ageInput == null或user.age>:ageInput)' –