[Seasar-user:19757] Re: 【S2JDBC】Whereクラスのブール型の変換
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2010年 5月 16日 (日) 20:20:20 JST
小林 (koichik) です.
Date: Sun, 16 May 2010 17:54:26 +0900
From: 渡辺茂昭 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19756] 【S2JDBC】Whereクラスのブール型の変換
> さて、今回ですが1つ確認させてください。S2JDBCのComplexWhereを使用して、
> SQL変数をバインドするとき、対象となるエンティティ(もしくはテーブルか)
> のフィールドがブール(テーブル上はTinyInt(1))の場合、実際発行するSQL文
> の該当する条件が'true'もしくは'false'(文字列リテラル)となっているようで
> すが、これは仕様なのでしょうか?
いいえ.
Boolean のプロパティならそのまま PreparedStatement#
setBoolean() を使ってバインドします.
Oracle の場合は 0 または 1 の数値で setInt() しますが,
MySQL であればそのまま setBoolean() が使われます.
文字列リテラルになっているというのはどのように
確認しましたか?
> 該当の部分のコードの一部を載せておきます。
>
> else if (field.getType().equals(Boolean.class)) {
> if (StringUtil.isEmpty(otdo.toString())) continue;
> ret = ret.eq(fname, Boolean.valueOf(otdo.toString()));
> }
これがなんのコードなのかわからないし,具体的な
問題がなんなのかもわかりません.
--
<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 メーリングリストの案内