0

テーブルを作成するために、Hibernate でメモリ内 Derby データベースを使用します。私のテストでは、dbunit を使用して、テスト データでデータベースを準備します。

db.driverClass=org.apache.derby.jdbc.EmbeddedDriver
db.url=jdbc:derby:memory:myDb;create=true
hibernate.dialect=org.hibernate.dialect.DerbyDialect
hibernate.hbm2ddl.auto=create-drop

Hibernate は、ブール値を格納するために smallint 列タイプを作成するようです。しかし、dbunit はこの値を変換できません。

Caused by: org.dbunit.dataset.datatype.TypeCastException: Unable to typecast value <true> of type <java.lang.String> to SMALLINT

Hibernate にブール列を作成させる (ダービーで利用可能な場合)、または dbunit に Java ブール値を smallint 列に書き込むようにするアイデアはありますか?

これは同じ問題を説明していますが、Derby の DataTypeFactory 実装はないようです。http://old.nabble.com/Data-type-factory-for-Derby-database.-td25996976.html

4

1 に答える 1

0

現在 Derby で真のブール型データ型を利用できるとは思えませんが、それを提供する作業が進行中です。 https://issues.apache.org/jira/browse/DERBY-4716を参照してください。その作業をサポートする Derby のリリースは「間もなく」予定されています。

于 2010-12-06T16:37:55.320 に答える