2015-07-13 32 views
-1

如何將mySQL WHERE限制轉換爲hibernate表達式限制或謂詞限制? MySQL的說法是:將mySQL WHERE語句轉換成休眠限制

SELECT * 
FROM Zaposleni 
WHERE ime= 'Marko' 
OR adresa= 'Uzice' 
AND brojgodina BETWEEN 25 AND 50 
OR visinadohotka BETWEEN 10 AND 30 
+0

請告訴你那裏的條件 –

+0

你會如何回答以下問題:「如何西班牙語動詞翻譯成英語動詞」是的,你不能迴避或說「看字典」。所以編輯你的問題有一個適當的問題陳述。 – runDOSrun

+0

SELECT * FROM Zaposleni WHERE ime ='Marko'OR adresa ='Uzice'AND brojgodina BETWEEN 25 AND 50 or visinadohotka BETWEEN 10 AND 30 –

回答

0

使用析取的或條款

Criteria criteria = session.createCriteria(YourEntityClassName.class); 

Disjunction disjunction = Restrictions.disjunction(); 
Criterion ime = Restrictions.eq("ime","Marko"); 
Criterion adresa = Restrictions.eq("adresa","Uzice"); 
disjunction.add(ime); 
disjunction.add(adresa); 

Disjunction disjunctionForBetweenCondition = Restrictions.disjunction(); 
Criterion brojgodina = Restrictions.between("brojgodina", 25, 50); 
Criterion visinadohotka = Restrictions.between("visinadohotka", 10, 30); 
disjunctionForBetweenCondition.add(brojgodina); 
disjunctionForBetweenCondition.add(visinadohotka); 

criteria.add(disjunction); 
criteria.add(disjunctionForBetweenCondition);