2
に追加の制限を加える:Criteria.listで実行するとHibernateの基準:私は休止状態(3.5)基準クエリを作成しているRestrictions.isEmpty
Criteria criteria = db.getSession().createCriteria(Vendor.class);
criteria.add(Restrictions.isEmpty("models"));
、Hibernateは(読みやすさのために簡略化)は、次のSQLを生成します:
SELECT this_.*
FROM VENDOR this_
left outer join MODEL models1_
ON this_.id = models1_.VENDOR_ID
WHERE NOT EXISTS (SELECT 1
FROM MODEL
WHERE this_.id = VENDOR_ID)
は、私は何をしたいのは、SQLクエリは、この
SELECT this_.* FROM VENDOR this_
left outer join MODEL models1_
ON this_.id = models1_.VENDOR_ID
WHERE
NOT EXISTS (SELECT 1
FROM MODEL
WHERE this_.id = VENDOR_ID AND DEPRECATED = 0)
次のようになりますように「ではなく存在している」部分の中に制限を追加することです
これはHibernate Criteria APIを使用して可能ですか?はいの場合、どのようにですか?または、同じ結果を達成する他の可能性があります(ただし、Criteria APIを使用しています)。