HQL 变量过滤个案
HQL variables Filter cases
如何更新我的代码以接受过滤器
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
}
总结:如何做动态select花蕊。
采用 :
1.spring开机
2.JPA
3.hibernate
3.HQL
您可以使用以下技巧:
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的检查。
如何更新我的代码以接受过滤器 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
}
总结:如何做动态select花蕊。 采用 : 1.spring开机 2.JPA 3.hibernate 3.HQL
您可以使用以下技巧:
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的检查。