我做这个JPQL查询
SELECT e
FROM Expediente e
WHERE e.fechaBaja is null
ORDER BY e.idSituacion ASC,
e.idExpediente ASC
但是当
e.idSituacion
为null时,eclipseLink不会返回此注册表。我如何使用oracle函数
nvl
进行此查询? EclipseLink 2.1.3是否支持此功能?SELECT nvl(e.idSituacion,' ')
FROM Expediente e
WHERE e.fechaBaja is null
ORDER BY e.idSituacion ASC,
e.idExpediente ASC
要么
SELECT e
FROM Expediente e
WHERE e.fechaBaja is null
and nvl(e.idSituacion,' ')
ORDER BY e.idSituacion ASC,
e.idExpediente ASC
谢谢。
最佳答案
合并
我不确定它如何为您提供帮助,但是您可以使用COALESCE
函数:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/JPQL#Functions
(这类似于NVL
,但是NVL
是Oracle特定的,COALESCE
是ANSI标准。)
订购
使用ORDER BY e.idSituacion ASC
时,空值将位于结果的末尾。
如果要首先具有空值,则可以使用NULLS FIRST
子句:ORDER BY e.idSituacion ASC NULLS FIRST
(仅来自Eclipselink 2.4)