フィールド名に CONTAINS 句を使用して、GORM CriteriaBuilder を使用して 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 を使用しています。