如何更新我的代码以接受过滤器 HQL 4变量过滤案例 让x,y,z;
{
select data from my table
where x = :x And y = :y And z =:z
}
if send x , y , z is NULL >
{
select data from my table
}
如何编辑此
或发送x,y NULL
{
select data from my table
where x = :x And y = :y
}
总结:如何做动态选择雄蕊。 使用 : 1.spring boot 2.JPA 3.hibernate 3.HQL
答案 0 :(得分:2)
这是一个你可以使用的技巧:
SELECT data
FROM my_table
WHERE (:x IS NULL OR x = :x)
AND (:y IS NULL OR y = :y)
AND (:z IS NULL OR z = :z)
请注意检查: :x IS NULL
它会检查传递的参数值是否为空。
例如,如果你有这种情况:
X Y Z
null not null not null
您的查询相当于:
SELECT data FROM my_table WHERE AND y = :y AND z = :z
忽略X的检查。