具有Case if字段的HQL Where子句为null

时间:2018-01-08 14:29:32

标签: hibernate case hql where-clause clause

我在2个表之间加入HQL查询,field1可能为null或有值。

如果在第一个表中为空,我必须检查第二个表中的'是否为空'但是如果它有值,我必须检查table1.field1=table1.field1是否

如何在HQL中使用'Case When'进行此操作?

1 个答案:

答案 0 :(得分:0)

我认为HQL查询应该是这样的:

SELECT t1 FROM Table1 t1, Table2 t2
WHERE t1.t2 = t2 AND
t1.field1 = (CASE WHEN t2.field1 is null THEN NULL ELSE t2.field1 END)