[Seasar-user:17788] Re: SELECT時のWHERE句へのBigDecimalの使用について

TetsuyaSawada [E-MAIL ADDRESS DELETED]
2009年 6月 18日 (木) 21:04:37 JST


お世話になっております。
澤田です。

小林 (koichik) 様ご回答
ありがとうございました。

NOT NULL制約をつけて対応するのがよさそうですね。

ありがとうございました。
-----Original Message-----
From: [E-MAIL ADDRESS DELETED]
[mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
Sent: Thursday, June 18, 2009 8:20 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17786] Re: SELECT時のWHERE句へのBigDecimalの使用につい
て

小林 (koichik) です.

Date:    Thu, 18 Jun 2009 19:21:18 +0900
From:    "TetsuyaSawada" <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:17785] SELECT時のWHERE句へのBigDecimalの使用について

> SELECT時に、S2Daoの自動生成のSQL文に対して、
> ARGSアノテーションを指定し、そのDaoの引数にBigDecimal型の
> 引数を与えています。
>
> そのBigDecimal型の引数にnullを渡してSELECTしたところ、
> where句以降が消滅し、全件検索となってしまいます。

S2Dao の仕様ですね.

http://s2dao.seasar.org/ja/s2dao.html#AutoSelect

どのみち SQL では null = null は真ではないので,
もし検索条件から外されなければ結果は 1 件も
返ってこないことになります.

BigDecimal 型のカラムが null の行を検索したいなら
= ではなく is null を使う必要があり,それは
SELECT 文の自動生成では対応していない (SQL ファイルを
使う必要がある) のではないでしょうか.


--
<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 mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user




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