2
我正在嘗試向查詢添加一些用戶定義的過濾器。過濾器是HTML列表元素中的屬性,我想要做的是,如果未選擇「全部」,則將條件添加到查詢中。我迄今試過的是如何動態修改groovy hibernate查詢
Criteria crit = Person.createCriteria().
addAccountCondition(crit)
addPrimarySkillCondition(crit)
addSkillsetCondition(crit)
addDateCondition(crit)
crit.addOrder(Order.asc("account.name"))
crit.list()
private void addAccountCondition(Criteria query){
String acct = params?.accts?.value?.toString()
if (!acct.equals("all") && acct != null){
query.add(Restrictions.eq("account.name", acct))
// old version
// query = query.where {
// account {
// eq "name", acct
// order "name", "asc"
// }
// }
println "acct is ${acct}"
println "Applying account condition. The query is ${query.toString()}"
}
}
但是,用這段代碼,我試圖將一個groovy Criteria轉換成一個Hibernate條件。我知道如何使用所有這些方法進行常規查詢,但不知道如何動態地進行查詢。
https://github.com/vahidhedayati/ajaxdependancyselection/blob/master/grails-app/services/ajaxdependancyselection/AutoCompleteService.groovy看看這裏 - 所有動態查詢與域名類搜索值等從其他地方傳入 – Vahid
謝謝你真是太棒了! –