JavaのbooleanをOracleに格納するには?

Oracleには真偽型のフィールドが存在しない。その為Javaのboolean型の値を何か別の型に変換して格納する処理を用意する必要がある。

s2daoにはBooleanToIntCallableStatementFactoryというコンポーネントが用意されており、j2ee.diconでBasicCallableStatementFactoryの変わりに利用する事で真偽型の値を格納する事が出来る。

ラクルで定義するフィールドの方はNUMERIC(1)で良い。

CREATE TABLE CHECKBOX(
  checkboxA NUMERIC(1)
)

example:Java boolean用Oracleテーブル定義

真の場合は1が格納され、偽の場合は0が格納される。

s2jsfではフォームのチェックボックスの値をboolean型で扱う事が出来る。s2daoのBooleanToIntCallableStatementFactoryと組み合わせて使用すれば自前で変換処理を書く事なくオラクルを利用した真偽データを扱う事が出来るようになる。