現在のコード:
CriteriaQuery criteriaQuery = cb.createQuery(MinutisPreke.class);
Root<MinutisPreke> from = criteriaQuery.from(MinutisPreke.class);
Join<LankomumasDiena, MinutisPreke> ld = from.join("lankomumasDiena", JoinType.LEFT);
cb.and(cb.equal(ld.get("intervalas"), 7));
次のクエリを生成します。
SELECT COUNT(t0.pr_id) FROM preke AS t0
LEFT OUTER JOIN lankomumas AS t1
ON (t1.pr_id = t0.pr_id)
WHERE (t1.intervalas = 7)
私のコードがこのクエリを生成するように、条件クエリを使用して LEFT OUTER JOIN ON句にステートメントを追加する方法:
SELECT COUNT(t0.pr_id) FROM preke AS t0
LEFT OUTER JOIN lankomumas AS t1
ON (t1.pr_id = t0.pr_id) AND (t1.intervalas = 7)
編集 1: 最初と 2 番目のクエリに違いがない場合は、次のスレッドをお読みください: SQL 結合: where 句と on 句