[Seasar-user:19750] Re: 【S2Dao】キーワード検索などで、スペース区切りをAND検索にする

Hidemasa Aoki [E-MAIL ADDRESS DELETED]
2010年 5月 14日 (金) 21:49:21 JST


逆に言うと、S2Daoでは、埋め込み変数の中にバインド変数を書いても解釈してくれ
ないんですね。
勘違いするところでした。

Daoメソッドのパラメータに、配列とかで指定できないので、パラメータの数が可変
だと、仮にバインド変数が指定できても、目的は達成できませんね・・・。

EntityManagerの、SQLファイルも使える版がほしいところです。

これもやろうと思えばできるような気がするんですけどね。

-----Original Message-----
From: [E-MAIL ADDRESS DELETED]
[mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of kubo
Sent: Friday, May 14, 2010 5:31 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19749] Re: 【S2Dao】キーワード検索などで、スペース区切
りをAND検索にする

久保(jflute)です。

とりあえず個数制限で回避ということなので、
参考までにというところですが。
こういうことのためにDBFluteでは、埋め込み変数コメントの中に
バインド変数コメントを含めて解析されるようにしています。
http://dbflute.sandbox.seasar.org/contents/outside-sql/dynamic.html
別に宣伝してるわけじゃなくって、要はS2Daoを(頑張って)拡張すれば、
できなくはない(だろう)ということです。この手の話は、
割り切れる問題じゃない(時間掛けても解決する必要のある)もの
なので、いざ窮地に陥ったときは参考にってところです。

2010/5/14 Hidemasa Aoki <[E-MAIL ADDRESS DELETED]>:
> 久保さん
>
> こんにちは。青木です。
> アドバイスありがとうございます。
>
> そうなんですよね・・・。SQLインジェクション対策が必要になってしまいます。
> もうここ10年以上、PreparedStatementを使わないSQL発行なんてしたことがないの
> で、とても不安です。
>
> 顧客にはすでに「キーワード10個の制限でいきます」と宣言してしまっており、実
装
> もし終わってしまったので、今回は無難に個数制限付きのままリリースしようかと
思
> います。
>
> -----Original Message-----
> From: [E-MAIL ADDRESS DELETED]
> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of kubo
> Sent: Friday, May 14, 2010 4:24 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:19746] Re: 【S2Dao】キーワード検索などで、スペース区
切
> りをAND検索にする
>
> 久保(jflute)です。
>
> 言うまでもないことだと思われますが、
> 埋め込み変数コメントを利用する場合で、
> 条件値がユーザ入力のものであるときは、
> SQLインジェクションへの対応をどうするか、
> 気をつける必要がありますので。
>
> 2010/5/14 Hidemasa Aoki <[E-MAIL ADDRESS DELETED]>:
>> 田中さん
>>
>> こんにちは。青木です。
>>
>> ・・・
>> ・・・
>> 埋め込み変数コメント・・・そういえばそのようなものを見た覚えが・・・あり
ま
>> す。
>> 使っていなかったので、すっかり忘れていて、勘違いしてしまいました!!!
>>
>> ありがとうございます!
>> これで制限なしで実装できます。
>>
>> -----Original Message-----
>> From: [E-MAIL ADDRESS DELETED]
>> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Kenichiro TANAKA
>> Sent: Friday, May 14, 2010 3:47 PM
>> To: [E-MAIL ADDRESS DELETED]
>> Subject: [Seasar-user:19744] Re: 【S2Dao】キーワード検索などで、スペース
区
>>> りをAND検索にする
>>
>> 田中と申します。こんにちは。
>>
>> 私も以前、S2Dao+SQLファイルで同じような複数キーワードの対応を
>> しましたが、その際には埋め込み変数コメントを使用しました。
>>
>> 青木さんがはじめに書かれているのは、バインド変数コメントではないでしょう
> か??
>>
>> 2010年5月12日16:10 Hidemasa Aoki <[E-MAIL ADDRESS DELETED]>:
>>> Javaでがりがり書いてみましたが、失敗でした。
>>>
>>> PagerConditionという便利機能が逆に足かせになり、うまくいきませんでした。
>>>
>>> 大変、困ってしまいました。
>>>
>>> -----Original Message-----
>>> From: [E-MAIL ADDRESS DELETED]
>>> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Hidemasa Aoki
>>> Sent: Wednesday, May 12, 2010 10:39 AM
>>> To: [E-MAIL ADDRESS DELETED]
>>> Subject: [Seasar-user:19736] Re: 【S2Dao】キーワード検索などで、スペース
>>>>>> りをAND検索にする
>>>
>>> 大中さん
>>>
>>> 回答ありがとうございます。
>>>
>>> やっぱり不可能ですか・・・。
>>>
>>> 埋め込み変数コメントですが、そもそものことの発端で、埋め込み変数では対処
>>>>>> ないようなことだったので、EntityManagerにたどり着いた、ということです。
>>>
>>> 【ことの発端】
>>> 件名のとおり、キーワード検索などで、スペース区切りで入力されるとAND検索
に
>>>>> る、という仕様はよくあると思います。※Googleみたいに。
>>> これを実現方法を知りたい。
>>>
>>> ――――――――――――――――――――――――
>>> 処理が遅くなりそうですが、Javaのコードでがりがり書くしかなさそうですね。
>>>
>>> -----Original Message-----
>>> From: [E-MAIL ADDRESS DELETED]
>>> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Oonaka Hiroyuki
>>> Sent: Tuesday, May 11, 2010 10:54 PM
>>> To: [E-MAIL ADDRESS DELETED]
>>> Subject: [Seasar-user:19735] Re: 【S2Dao】キーワード検索などで、スペース
>>>>>> りをAND検索にする
>>>
>>> 大中(せと)です。
>>>
>>> Hidemasa Aoki さんは書きました:
>>>
>>>>
>>>> EntityManagerでは、SQLファイルを利用したSQLを実行できないのでしょうか?
>>>
>>> はい。
>>>
>>>> SQLファイルを利用できるようにする、何か方法はないのでしょうか?
>>>
>>> SQLファイルを使うということでしたら、埋め込み変数コメントのほうが
>>> 向いていると思います。
>>>
>>> http://s2dao.seasar.org/ja/s2dao.html#SQLBind
>>>
>>> の「埋め込み変数コメント」を参照してください。
>>>
>>>
>>> --
>>> 大中浩行(せとあずさ)
>>> [E-MAIL ADDRESS DELETED]
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>
>>
>>
>> --
>> Kenichiro TANAKA
>> [E-MAIL ADDRESS DELETED]
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user



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