我正在尝试使用GORM CriteriaBuilder在字段名称上使用CONTAINS子句对SQL Server数据库执行全文搜索。我试图使用sqlRestriction方法来做到这一点。此外,CriteriaBuilder可能包含许多其他可选标准。
类似的东西:
Table.createCriteria.list {
and {
if (option1) { eq "field1", option1 }
if (option2) { like "field2", option2 }
if (option3) { sqlRestriction "CONTAINS(field3, '${option3}')" }
}
}
option3可以包含布尔运算符。
有人有成功吗?
单元测试会在sqlRestriction行上抛出异常: groovy.lang.MissingMethodException:没有方法签名:grails.gorm.CriteriaBuilder.sqlRestriction()适用于参数类型:(java.lang.String)
我认为String类型正是sqlRestriction正在寻找的。 p>
开放替代品。提前谢谢。
使用grails 2.0.3。