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型だけ特別に扱うようにすればよいのではないでしょうか。


#ちなみに
config-general.xmlには



と書いてあります。

という質問を頂きました。


この場合、できれば、HashtableにはBoolean型を突っ込む際にBoolean型ではなくて、Boolean型を独自に拡張したものを使ってもらえると助かります。


例えば、
public class MySQLInputBoolean extends Boolean{
public String toString(){
// ここをオーバーライド
}
}

というふうにして作ったものを、SELECT文などを実行する際に入力用のHashtableに入力してもらえると助かります。

> #ちなみに
> config-general.xmlには
>
>
> と書いてあります。


ここは、結果を取得するときに使うので、ここはこのままで問題ないです。
この部分は、SELECT文で結果を取得した際にDB側から戻ってくるresultを取得する際に効いてきます。