私は iBatis を初めて使用し、要素と要素に苦労しています。
HashMap: MyParameters として渡される Book インスタンスのリスト (たとえば) を反復処理したいと考えています。リストは listOfBooks と呼ばれます。
したがって、SQL ステートメント全体の句は次のようになります。
<iterate prepend="AND" property="MyParameters.listOfBooks" conjunction="AND" open="(" close=")">
...
</iterate>
また、「listOfBooks」リスト内の各 Book インスタンスのプロパティが null であるかどうかに応じて、反復要素内で異なる SQL を生成する必要があります。
したがって、次のようなステートメントが必要です。
<iterate prepend="AND" property="MyParameters.listOfBooks" conjunction="AND" open="(" close=")">
<isNull property="MyParameter.listOfBooks.title">
<!-- SQL clause #1 here -->
</isNull>
<isNotNull property="MyParameter.listOfBooks.title">
<!-- SQL clause #2 here -->
</isNotNull>
これを行うと、Book クラスに「title」という名前の「読み取り可能な」プロパティがないというエラー メッセージが表示されます。ただし、各 Book インスタンスにはtitle プロパティが含まれているため、混乱しています! listOfBooks で特定の Book インスタンスのタイトルを特定しようとして、構文を操作したとしか思えません。これを達成するための正しいテクニックを見つけるのに苦労しています。誰かが前進する方法をアドバイスできるなら、私は感謝します。
ありがとう