質問: Modelクラス.find.where().or().like("カラム名","%検索文字列%").findList(); ``` エスケープ処理を行う必要がありと思いましたが、application.logを見るとすでに `select xxx from テーブル名 where カラム名 like '%xxxx%' escape'';` とエスケープ処理されているログが残っていました。 `escape ''`の文字を指定したいのですが、プログラム中に記載するのか、confファイルなどで定義できるのかわからず質問させていただきました。 よろしくお願いします。
回答: 質問文に記載されていないので推測ですが、Ebeanの質問と解釈して回答します。 (違う場合は使用されているフレームワークとそのバージョンを質問文に追記してください) Ebeanの最新(10.1.5)のソースコードを確認する限り、そもそもLike句でescape文字を指定することはできないようです。 つまりEbeanとしては、Like句内でエスケープする必要のある文字は、データベースプラットフォームに応じたデフォルトのエスケープ文字でエスケープされていることを期待しているようです。 例えばMySQLの場合は、バックスラッシュ(`\`)でエスケープする必要があります。