2

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

4

0 に答える 0