0

次のドメイン クラスを検討してください。

class House {
  Integer room
  Integer bathroom
  Date builtDate
  Date boughtDate

  String roadName

  String getSearch(){
    return room + " " + bathroom + " " + builtDate + " " + boughtDate
  }
}

私の検索メカニズムには、部屋、バスルーム、builtDate、buriedDate による検索など、いくつかのフィールドがあると思います。

ユーザーは、これらのパラメーターの任意の組み合わせを検索できる必要があります。彼はそれらの 1 つだけを使用することも、すべてを使用することもできます。コントローラーのコードについて助けが必要です。HQL Dynamic Finders を使用してそれを行うことができないと確信しているため、SQLS ステートメントを使用する必要があります。

ヘルプ/ヒントをいただければ幸いです。

4

1 に答える 1

0

おそらく、休止状態の基準を使用する必要があります。次のようなもの:

if (room && bathroom && builtDate && boughtDate) {
  House.withCriteria {
    if (room) {
      gte 'room', room
    }
    // ...
  }
}

詳細については、createCriteria および withCriteria のドキュメントを参照してください。

于 2011-07-01T14:11:39.080 に答える