Estoy intentando actualizar de Hibernate 3.6.5 a 4.0 (y desde Spring 3.0.5 a 3.1 que es necesario para la compatibilidad con Hibernate 4)."Encontrado: bit, expected: boolean" después de la actualización de Hibernate 4
Ahora, con tanto MySQL y HSQL, estoy corriendo en este problema con persistentes campos booleanos:
Caused by: org.hibernate.HibernateException:
Wrong column type in PUBLIC.PUBLIC.EVENT for column Checked. Found: bit, expected: boolean
at org.hibernate.mapping.Table.validateColumns(Table.java:282)
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1268)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:155)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:453)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1737)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1775)
at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:184)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:314)
APP @Entity
y @Column
anotaciones se utilizan en objetos de dominio, y los campos problemáticos tener este aspecto: esquema
@Column(name = "Checked")
private boolean checked;
HSQL:
Checked bit default 0 not null,
MySQL esquema:
`Checked` tinyint(1) NOT NULL default '0',
¿Cuál es la forma más sencilla de resolver este mientras que se pega con Hibernate 4? ¿Debo cambiar el esquema de la base de datos, las configuraciones de Hibernate o las anotaciones de la clase de dominio?
tengo ni idea de si el código y configuración fue totalmente "correcta" antes, pero al menos funcionó bien con Hibernate 3.
Con HSQL, cambiar "bit" a "booleano" en el archivo de esquema * parece * ayudar (es decir, luego me encuentro con un problema diferente de Hibernate 4). Sin embargo, eso es un poco extraño, ya que [la documentación de HSQL] (http://hsqldb.org/doc/guide/ch09.html#datatypes-section) da la impresión de que BOOLEAN y BIT son equivalentes. – Jonik