java - Hibernate Annotations(Spring),添加新 boolean 列时设置默认值,出错?

标签 java database hibernate spring jpa

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

Can not set boolean field org.jadefalcon.demo.domain.Users.permissionconceptsearchtab to null value

我在尝试什么(我通过搜索找到了这方面的信息,但似乎我做错了)

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

我想避免不得不删除表并重新加载数据,所以我想知道我需要做什么才能在添加这个新列时将任何现有行设为 false。谢谢

最佳答案

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

只需使用 ALTER TABLE ADD COLUMN ... 语句将列添加到表中,并在 SQL 中设置 DEFAULT false 值。

你从 Hibernate 得到的异常是因为原始类型,比如 boolean 永远不可能是 null,只能是 truefalse 。但是,Boolean 可以是 nullBoolean.TRUEBoolean.FALSE

关于java - Hibernate Annotations(Spring),添加新 boolean 列时设置默认值,出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797326/

相关文章:

java - 从数组中查找等于某个值 X 的子数组

java - 从 dv 摄像机进行实时 RTMP 流传输的最佳方式

c# - 更新条目时出错。有关详细信息,请参阅内部异常

php - 如何在 laravel 中使用一个选择选项发送多个数据?

带有 spring 3.1 和 hibernate 4.01 的 HibernateInterceptor

java - Gradle:无法下载ojdbc7.jar

java - 如何通过为eclipse 提供一个html 文件来在eclipse 中启动applet?

java - 从数据库中检索顺序数据的最快方法是什么?

java - Hibernate:提交方法在日志中提供输出但不输入数据库?

java - 使用@NamedQuery时如何显示日期和字符串