У меня есть дни, пытаясь решить эту проблему.
Мне нужно иметь ORDER BY и LIMIT в подзапросе, это собственный 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, либо LIMIT.
Бизнес-логика такова: подзапрос должен возвращать последний статус операции, определяемый главным образом приоритетом и датой в строках журнала операций, поэтому мне нужны предложения ORDER BY и LIMIT.
Мне это нужно в JPQL, потому что я разработал API для динамических запросов, это построитель запросов для JPQL, который мне нужно использовать.
Заранее спасибо.