我正在使用以下 JPQL 查询来获取和排序基于 SSN 的记录。在 DB 中,有 7 个有 SSN,而 4 个没有。我第一次看到所有 11 条记录都被返回,但是当查询再次运行时,我只看到 7 条记录,其中 case 设置为 0 而不是设置为 1 的记录。非常感谢任何帮助。
SELECT qd, CASE WHEN qd.ssn IS NULL THEN 1 ELSE 0 END as nullssn
FROM UiQtrlyRptUnitDtl qd
WHERE qd.emprAcctId = :emprAcctId
AND qd.ccyyqId IN (:ccyyqList)
ORDER BY nullssn desc, qd.ssn, qd.lastNa, qd.firstNa
我将 OpenJPA 与 JPA 2.0 和 Websphere 一起使用。