Ich verwende eine In-Memory-Derby-Datenbank mit Hibernate, um die Tabellen zu erstellen. Meine Tests verwenden dbunit, um die Datenbank mit Testdaten vorzubereiten.Hibernate hbm2ddl boolesche Spalte typeCastException in 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 scheint ein smallint Spaltentyp erstellen einen Booleschen Wert zu speichern. Aber dbunit kann diesen Wert nicht konvertieren.
Caused by: org.dbunit.dataset.datatype.TypeCastException: Unable to typecast value <true> of type <java.lang.String> to SMALLINT
Jede Idee zu machen Hibernate eine boolean Spalte erstellen (falls verfügbar in Derby) oder DBUnit schreiben Java boolean zum Smallint Spalte machen?
Dies erklärt das gleiche Problem, aber es scheint keine DataTypeFactory-Implementierung für Derby zu geben. http://old.nabble.com/Data-type-factory-for-Derby-database.-td25996976.html
Ich habe das gleiche Problem mit Oracle, haben Sie eine Lösung zu finden, um dbunit Booleans entsprechend der zugrunde liegenden Db-Implementierung zu interpretieren? – chrismarx