Java Hibernate注释(Spring),在添加新的布尔列时设置默认值,获取错误?

Java Hibernate注释(Spring),在添加新的布尔列时设置默认值,获取错误?,java,database,hibernate,spring,jpa,Java,Database,Hibernate,Spring,Jpa,我正在尝试向现有数据库表中添加一个新列。这是一个布尔值,我尝试如下,但得到的错误: 无法设置布尔字段 org.jadefalcon.demo.domain.Users.permissionconceptsearchtab 设置为空值 我正在尝试的(我从搜索中找到了这方面的信息,但似乎我做错了) 我希望避免必须删除表并重新加载数据,因此我想知道我需要做什么,这样在添加此新列时,任何现有行都将变为false。谢谢我不太确定这与Hibernate有什么关系-您是否使用hbm2ddl之类的工具自动生成S

我正在尝试向现有数据库表中添加一个新列。这是一个布尔值,我尝试如下,但得到的错误:

无法设置布尔字段 org.jadefalcon.demo.domain.Users.permissionconceptsearchtab 设置为空值

我正在尝试的(我从搜索中找到了这方面的信息,但似乎我做错了)


我希望避免必须删除表并重新加载数据,因此我想知道我需要做什么,这样在添加此新列时,任何现有行都将变为false。谢谢

我不太确定这与Hibernate有什么关系-您是否使用hbm2ddl之类的工具自动生成SQL语句来创建表

只需使用
altertableaddcolumn…
语句将列添加到表中,并在SQL中设置
defaultfalse

从Hibernate中得到的例外是,像
boolean
这样的基元类型永远不能是
null
,只能是
true
false
。但是,
Boolean
可以是
null
Boolean.TRUE
,也可以是
Boolean.FALSE

@Column(name = "permissionconceptsearchtab",nullable=false,
columnDefinition="boolean default false")
private boolean permissionconceptsearchtab;