2
我已經創建了一個休眠(3.5)搜索標準查詢:休眠標準:添加額外的限制Restrictions.isEmpty
Criteria criteria = db.getSession().createCriteria(Vendor.class);
criteria.add(Restrictions.isEmpty("models"));
當與Criteria.list執行,休眠產生以下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)?