私のアプリケーションでは、すべてのFooにカテゴリがあります。Foo.Categoryは、クラスFooの内部列挙型です。指定されたフォームページでFooを作成する場合、ユーザーは列挙型に入力されたドロップダウンからカテゴリを選択します。ただし、この選択はオプションです。
さて、別のページで、Fooを名前とカテゴリで検索できるようにしたいと思います。この検索フォームにCheckBoxMultipleChoice<Foo.Category>
も同じ内部列挙型が入力されています。チェックされた値はDAOに送信され、DAOは「wherecategoryin」句を使用してデータベースにクエリを実行します。
チェックボックスに「空白/なし」の選択肢を追加したいので、DAOに送信されたときに、チェックされている場合は「またはカテゴリがnullの場合」をクエリに追加できます。私のチェックボックスは列挙型に入力されているので、これも可能ですか?
編集:これが重要かどうかはわかりませんが、私の列挙型にはSHORTNAMEで指定された値がありますが、それぞれに文字列LongerAndMoreDescriptiveNameがあり、列挙型はtoString()
この値を返すようにオーバーライドします。SHORTNAMEは私がデータベースに保存し、where句で使用するものですが、LongerはUIに表示されるものです。CheckBoxMultipleChoiceに変更して空白の選択肢を追加することを簡単に考えていましたが、値間の不一致をどのように解決しますか?