Ibr*_*ram 2 java oracle function eclipselink
我这样做JPQL查询
SELECT e
FROM Expediente e
WHERE e.fechaBaja is null
ORDER BY e.idSituacion ASC,
e.idExpediente ASC
Run Code Online (Sandbox Code Playgroud)
但是当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
Run Code Online (Sandbox Code Playgroud)
要么
SELECT e
FROM Expediente e
WHERE e.fechaBaja is null
and nvl(e.idSituacion,' ')
ORDER BY e.idSituacion ASC,
e.idExpediente ASC
Run Code Online (Sandbox Code Playgroud)
谢谢.
合并
我不确切地知道它会如何帮助你,但你可以使用COALESCE函数:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/JPQL#Functions
(这与Oracle 类似NVL,但是是ANSI标准.)NVLCOALESCE
订购
随着ORDER BY e.idSituacion ASC空值将在结果的结尾.
如果您想先获得空值,可以使用以下NULLS FIRST子句:
ORDER BY e.idSituacion ASC NULLS FIRST
(仅来自Eclipselink 2.4)