0
我在將HQL轉換爲標準查詢時遇到了一些問題。作爲規範的一部分,我需要Criteria查詢的返回值是Criteria類型,這可能不會改變。HQL到標準轉換問題
這是我的全部工作HQL查詢:
select sum(m.frequent/case when m.vigilants.size > 1 then m.vigilants.size
else 1 end) from Museum m inner join m.vigilants v where size(m.vigilants) > 1
and v.forename = 'Mike Jones' or size(m.vigilants) = 1 and v.forename='Mike Jones'
,這是我的嘗試,到目前爲止,在得到一個條件查詢
Criteria criteria = session.createCriteria(Museum.class, "m");
criteria.createAlias("m.vigilants", "v");
criteria.setProjection(Projections.distinct(Projections.property("m.id")));
criteria.add(Restrictions.or(Restrictions.sizeGt("vigilants", 1), Restrictions.eq("v.forename", "Mike Jones")));
老實說,我真的很卡住,一直試圖一天讓這個工作,並且我不知道如何讓這個HQL轉換爲Criteria查詢!