相关疑难解决方法(0)

Hibernate 4升级后"发现:bit,expected:boolean"

我正在尝试从Hibernate 3.6.5升级到4.0(从Spring 3.0.5升级到3.1,这是Hibernate 4支持所必需的).

现在,使用MySQL和HSQL,我遇到了持久布尔字段的问题:

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)
Run Code Online (Sandbox Code Playgroud)

JPA @Entity@Column注释用于域对象,有问题的字段如下所示:

@Column(name = "Checked")
private boolean checked;
Run Code Online (Sandbox Code Playgroud)

HSQL架构:

Checked bit default 0 not null,
Run Code Online (Sandbox Code Playgroud)

MySQL架构:

`Checked` tinyint(1) NOT NULL default '0',
Run Code Online (Sandbox Code Playgroud)

在坚持使用Hibernate 4的同时解决这个问题最简单的方法是什么?我应该更改数据库架构,Hibernate配置还是域类注释?

我不知道代码和配置之前是否完全"正确",但至少它与Hibernate 3一起运行良好.

java mysql hibernate hsqldb hibernate-4.x

32
推荐指数
3
解决办法
3万
查看次数

标签 统计

hibernate ×1

hibernate-4.x ×1

hsqldb ×1

java ×1

mysql ×1