我目前有以下查詢。我知道這可以用作 SQL 查詢,但是因為我使用的是 javax.persistence 中的 EntityManager,所以它需要 JPQL。而且我不知道JPQL。如果有一種方法可以在 JPQL 中重寫它,那就太好了。
Query q = entityManager.createNativeQuery("
WITH original AS (SELECT *, COUNT(ref) as c FROM Tri WHERE triH IN :list GROUP BY ref
SELECT ref FROM original WHERE c = :amtTri");
q.setParameter("list", posTri);
q.setParameter("amtTri", posTri.size());
實際查詢:
WITH original AS (SELECT *, COUNT(ref) as c FROM Tri WHERE triH IN :list GROUP BY ref
SELECT ref FROM original WHERE c = :amtTri
我正在嘗試使用存盤庫方法在 Quarkus 專案中執行此操作,如果有使用它的方法,那也可以
提前致謝!
uj5u.com熱心網友回復:
我相信使用 EntityManager 并不意味著您必須使用 JPQL,您也可以使用 Native Queries。
由于您的查詢看起來不那么簡單(至少對我而言),我會使用本機查詢而不是 JPQL。您可以使用 javax.persistence 中的 EntityManager 運行本機查詢。本教程解釋了如何做到這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435813.html
