Java HQL变量过滤器案例
如何更新我的代码以接受筛选器 HQL 4变量过滤器案例 设x,y,zJava HQL变量过滤器案例,java,hibernate,spring-boot,spring-data-jpa,hql,Java,Hibernate,Spring Boot,Spring Data Jpa,Hql,如何更新我的代码以接受筛选器 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空值 { select data from my table where x = :x And y = :y } 如何
{
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空值
{
select data from my table
where x = :x And y = :y
}
如何做动态选择雄蕊。
使用:
1.弹簧靴
2.JPA
3.冬眠
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为NULL
它将检查传递的参数值是否为NULL
例如,如果您有这种情况:
X Y Z
null not null not null
您的查询相当于:
SELECT data FROM my_table WHERE AND y = :y AND z = :z
忽略对X的检查。为null,怎么办?如果X=null:从my_表中选择数据,其中(:y为null或y=:y)和(:z为null或z=:z)这样做???@hOS那么X将被忽略,例如X为null,y和z不为空,那么您的查询相当于从my_表中选择数据,其中和y=:y和z=:z