【发布时间】:2012-11-12 22:00:17
【问题描述】:
在 Hibernate 查询中,我如何检查属性是否为空?根据结果,我想获取该属性,如果它不为空,我必须获取另一个属性。
【问题讨论】:
在 Hibernate 查询中,我如何检查属性是否为空?根据结果,我想获取该属性,如果它不为空,我必须获取另一个属性。
【问题讨论】:
以下两种方式是有效的 HQL 查询,并且都是有效的 JPA 2.0 JPQL 查询。
使用合并(返回第一个非 null,如果两者都为 null,则返回 null):
SELECT coalesce(e.property, e.otherProperty) FROM SomeEntity e
等效的select-case,有点长:
SELECT CASE WHEN e.property IS NULL THEN e.otherProperty ELSE e.property END
FROM SomeEntity e
【讨论】: