我得到Hibernate异常:
错误的列类型.发现:位,预期:BOOLEAN DEFAULT TRUE
我有班级用户:
package mypackage;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "USER")
public class User {
@Id
@GeneratedValue
@Column(name = "ID", unique = true, nullable = false)
private Long id;
@Column(name = "STATUS", columnDefinition = "BOOLEAN DEFAULT TRUE",
nullable = false)
private Boolean status = Boolean.TRUE;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
如果Hibernate在数据库中创建表本身,这可以正常工作.什么时候
<property name="hibernate.hbm2ddl.auto">create</property>
Run Code Online (Sandbox Code Playgroud)
要么
<property name="hibernate.hbm2ddl.auto">create-drop</property>
Run Code Online (Sandbox Code Playgroud)
但如果
hibernate.hbm2ddl.auto为验证 然后我用Hibernate生成的表再次运行我的程序
<property name="hibernate.hbm2ddl.auto">validate</property>
Run Code Online (Sandbox Code Playgroud)所以我得到了例外:
org.hibernate.HibernateException:dbtest.user中列STATUS的列类型错误.发现:位,预期:BOOLEAN DEFAULT TRUE
任何想法Hibernate的这种行为的原因是什么,我该如何解决它?
我用MySQL server 5.1 …