MySQLでのBOOL型の扱いについて
MySQLに対して、BOOL型をカラムとして使い、HashtableにはBoolean型を突っ込んでいるのですが Caused by: java.sql.SQLException: Incorrect integer value: 'true' for column 'isAnalyzed' at row 1 と出ます。おそらくMySQLのBOOL型はTINYINT型の別名なのでtrueとかいう文字列は通らないわけですね。 察するに、CROSSFIREの中でtoStringを使ってSQL文を生成していると思うのですが、そこでBoolean型だけ特別に扱うようにすればよいのではないでしょうか。 #ちなみに
|
という質問を頂きました。
この場合、できれば、HashtableにはBoolean型を突っ込む際にBoolean型ではなくて、Boolean型を独自に拡張したものを使ってもらえると助かります。
例えば、
public class MySQLInputBoolean extends Boolean{
public String toString(){
// ここをオーバーライド
}
}
というふうにして作ったものを、SELECT文などを実行する際に入力用のHashtableに入力してもらえると助かります。
> #ちなみに
> config-general.xmlには
>
>
> と書いてあります。
ここは、結果を取得するときに使うので、ここはこのままで問題ないです。
この部分は、SELECT文で結果を取得した際にDB側から戻ってくるresultを取得する際に効いてきます。