我正在尝试使用 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 正在寻找的。
对替代品持开放态度。提前致谢。
使用 grails 2.0.3。