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