ich diese SQL-Abfrage schreiben will BuilderCriteriaBuilder verbindet zwei Tabellen mit einer benutzerdefinierten Bedingung
SELECT *
FROM A
LEFT OUTER JOIN B
ON A.IDRESOURCE=B.IDRESOURCE AND B.IDLANGUAGE=22;
mit dem JPA Kriterien. Ich schrieb den ersten Teil des Join einfach mit:
CriteriaQuery<A> searchQuery = criteriaBuilder.createQuery(A.class);
Root<A> aRoot = searchQuery.from(A.class);
Join<A, B> bJoin= aRoot.join("mappedB", JoinType.LEFT);
aber ich weiß nicht, wie die Bedingung B.IDLANGUAGE = 22 zu implementieren.
Gibt es eine Möglichkeit, dies in Criteria Builder zu erreichen?
Hallo @Nicholas ist. Funktioniert der EM nach dem Beitritt? Mein Problem ist, dass die Bedingung als eine Join-Bedingung ausgeführt werden muss, nicht als eine wo. – gvdm
Sollte tun, ich habe diese Menge verwendet. Es kennt den Join, weil Sie 'bJoin' in der where-Klausel verwenden. –