2010-12-06 28 views
0

我在Hibernate中使用內存Derby數據庫來創建表。我的測試使用dbunit來準備帶有測試數據的數據庫。hibernate hbm2ddl布爾列在dbunit中typeCastException

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

+0

我有與oracle相同的問題,你有沒有找到一個解決方案,讓dbunit根據底層的數據庫實現來解釋布爾值? – chrismarx 2011-03-04 22:27:26

回答