@DBFlute, Java MLで話題になったので、話題にします。 要は、PostgreSQLの「ilike」ですね。 大文字小文字区別なしに曖昧検索します。
cb.query().setMemberName_LikeSearch("s", new LikeSearchOption() { @Override public ExtensionOperand getExtensionOperand() { return WayOfPostgreSQL.OperandOfLikeSearch.CASE_INSENSITIVE; } }.likePrefix());
where dflocal.member_name ilike 's%' escape '|'
ただ日本のシステムだと「アルファベットだけ区別なし」だと あんまりうれしくないって感じが多いと思います。 (業務アプリのデータに対する比較ですし) やるときは「あ」と「ア」も吸収して欲しいとかあるので、 実案件では検索用カラムを作って、その中にはある規則で 正規化された値を格納して、検索条件の値もその同じ規則で 正規化して曖昧検索することが多かったです。 無論、今後のこともありますし、まだ知らない拡張が 必要になったりする可能性もあるので、こういう形で LikeSearchOptionの拡張領域を用意しています。 アーキテクトの方がその時の要件に合わせて独自拡張クラスを 作って、ディベロッパーに横展開するのが良いでしょう。