如何在Hibernate中不为null时获取属性

时间:2012-11-25 02:16:18

标签: hql jpql

在Hibernate查询中如何检查属性是否为null?根据我想要获取该属性的结果,如果它不为null,我必须获取另一个属性。

1 个答案:

答案 0 :(得分:3)

以下两种方式都是有效的HQL查询,两者都是有效的JPA 2.0 JPQL查询。

使用coalesce(返回第一个非null,如果两者都为null,则返回null):

SELECT coalesce(e.property, e.otherProperty) FROM SomeEntity e

等效选择案例,有点长:

SELECT CASE WHEN e.property IS NULL THEN e.otherProperty ELSE e.property END 
FROM SomeEntity e