[Seasar-user:22029] 【DBFlute】OracleでのLikeSerachのエスケープ処理自動解決について

mitsu [E-MAIL ADDRESS DELETED]
2015年 1月 21日 (水) 13:49:58 JST


お世話になります。成田と申します。

以下の環境にて開発をしておりますが確認したいことがあります。

DBFlute:1.0.5L
DB:Oracle11gR2

全角パーセントで検索を実行するとエスケープ対象となり
エラーとなってしまいます。
エスケープせずに検索実行したいのですが
ご教授いただけますでしょうか。
※半角については想定通りの動きです。

DBFluteの仕様より、「全角がワイルドカードにならないDBMSでも、
そのエスケープ文字は単に無視されるだけですので動作に影響はありません。」
とありますが、バージョンによる差異なのか、こちらの解釈の違いなのか・・・
現状その仕様とは異なる動きをしていると見ております。

以下ページ参照
http://dbflute.seasar.org/ja/manual/function/ormapper/conditionbean/query/likesearch.html

出力されたエラーですが、以下が出力されています。
外だしSQLで、「likeContain!!」を指定しています。

[SQLException]
java.sql.SQLDataException
ORA-01424: エスケープ文字に続く文字がないか、または無効です。

〜〜SQLログ抜粋〜〜
hoge_name like '%|%%' escape '|'
〜〜SQLログ抜粋〜〜

Oracleについては、全角パーセントは無視されずに
エスケープされる仕様なのでしょうか。
アプリ側で対応するべきかの判断にも影響してくるため
ご確認のほどお願いいたします。

--
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20150121/ddabbe90/attachment.html>


Seasar-user メーリングリストの案内