1
我有幾天試圖解決這個問題。請幫助將此SQL轉換爲JPQL,子查詢問題(EclipseLink v2)
我需要有一個ORDER BY和子查詢有限制,這是本地SQL:
SELECT
ope.idOperacion AS OperationID,
est.nombre AS LastStatusName
FROM
SSCM_4.Operaciones4 ope
INNER JOIN SSCM_4.BitacoraOperaciones4 bita
ON
bita.operacion = ope.idOperacion
INNER JOIN SSCM_4.Estatus4 est
ON
est.idEstatus = bita.estatus
WHERE
ope.idOperacion = 54
AND bita.idBitacoraOperacion =
(
SELECT
BO2.idBitacoraOperacion
FROM
SSCM_4.BitacoraOperaciones4 BO2
INNER JOIN SSCM_4.Estatus4 EST2
ON
(
BO2.Estatus = EST2.idEstatus
)
WHERE
BO2.Operacion = ope.idOperacion
ORDER BY
EST2.Prioridad DESC,
BO2.FechaOperacion DESC,
BO2.idBitacoraOperacion ASC LIMIT 1
)
但問題是,ORDER BY沒有在子查詢的JPQL支持,無論是極限。
業務邏輯是這樣的:子查詢必須返回操作的最後一個狀態,主要由操作日誌歷史中的優先級和日期定義,這就是爲什麼我需要和ORDER BY和LIMIT子句。
我在JPQL中需要這個,因爲我開發了一個用於動態查詢的API,它是一個查詢生成器,用於我需要使用的JPQL。
預先感謝您。