我需要從我的數據庫中獲取的用戶,此查詢:Hibernate的HQL - 做什麼,如果一個屬性可能爲空
SELECT * FROM users
WHERE first_name = 'Aragorn'
AND last_name = 'SonOfAratorn'
AND city = 'Osgiliot'
AND country = 'Gondor'
的問題是,在我的應用程序,我會經常有城市或國家缺少,或者兩者都缺失。
我可以做3個或四個爲HQL查詢,但是這似乎是一個不很有效的解決方案。
有沒有辦法只有一個查詢,將容納情況下,當這些屬性(國家和城市)的一個或兩個是空的,如何轉換該查詢HQL?
我的DB是MySQL服務器上。
PS:
我已經試過這樣的事情,但它沒有工作:
SELECT * FROM users
WHERE first_name = 'Aragorn'
AND last_name = 'SonOfAratorn'
AND city like IFNULL('%', <my-city-param>)
AND country like IFNULL('%', <my-country-param>);
我正在尋找類似的東西在HQL格式。
在此先感謝。 :)
我更喜歡Criteria而不是HQL。如果你想我可以給通過標準溶液)) –