J'ai des jours essayant de résoudre ce problème.S'il vous plaît aider à convertir ce SQL en JPQL, problème avec sous-requête (EclipseLink v2)
je dois avoir une ORDER BY et une limite dans une sous-requête, c'est le natif 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
)
Mais le problème est que ORDER BY est pas pris en charge par les sous-requêtes JPQL, soit LIMIT. La logique métier est la suivante: la sous-requête doit renvoyer le dernier état de l'opération définie principalement par la priorité et la date dans les lignes de l'historique du journal des opérations, c'est pourquoi j'en ai besoin et les clauses ORDER BY et LIMIT. J'ai besoin de cela en JPQL car j'ai développé une API pour les requêtes dynamiques, c'est un constructeur de requêtes, pour JPQL que j'ai besoin d'utiliser.
Merci d'avance.