[Seasar-user:13598] Re: [S2JDBC] SimpleWhereでの'_'や'%'のlike検索について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 4月 7日 (月) 16:30:13 JST
小林 (koichik) です.
Date: Mon, 7 Apr 2008 15:47:18 +0900
From: "Noritaka Ishizumi" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13596] [S2JDBC] SimpleWhereでの'_'や'%'のlike検索について
> いまのS2JDBCでは、内部でSQLのLIKEが使用される、SimpleWhereのlikeやstartsなどを
> 使う時に、検索対象に'_'や'%'が入っていると、そのままLIKEの特殊文字として使われてしまい、
> '_'や'%'自体を検索することができないようです。
たしかに.
> SimpleWhereのlikeやstartsの使い勝手から考えると、そのSQL自動生成処理の中で
> "XXX like '$_%' escape '$' "のように自動的にescapeが追加されると嬉しいと思います。
検索対象に "$_" が含まれる場合 (まずないでしょうが)
とか考えてしまうと,エスケープ文字を自動で決めるのは
悩ましい気もするので,
starts(String propertyName, String value, char escape)
のように明示的にエスケープ文字を指定してもらうのが
無難な気もするのですがどうでしょうか?
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内