java - 从 hibernate 实体中删除 NotNull 字段

标签 java mysql hibernate

我的 hibernate 实体中有一些我不再需要使用的字段,因此我将其从实体中删除了。 问题是,现在,当有人尝试将新实体对象保存到数据库时,最终会出现异常“字段'{OldField}'没有默认值”。这是因为实体的更改不会影响MySql,并且旧字段仍然存在并且想要获取一些值。

我可以从 MySql 中删除旧字段,但我想知道是否有更优雅的选项来处理这种情况。

谢谢!

最佳答案

您可以在 MySQL 中使用默认值选项。只需更改查询参数和默认值即可。

ALTER TABLE <Table_Name> MODIFY COLUMN <Col_Name> <Data_Type> NOT NULL DEFAULT '0';

或者您可以启用默认值为 NULL

ALTER TABLE <Table_Name> MODIFY COLUMN <Col_Name> <Data_Type> DEFAULT NULL;

关于java - 从 hibernate 实体中删除 NotNull 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50021680/

相关文章:

来自mysql控制台的mysql binlog路径

Hibernate 模式验证在固定长度字符字段上失败

java - 如何在不使用maven的情况下在hibernate(Java项目)中使用slf4j + log4j

java -\b 在 IntelliJ 的控制台中表现得很奇怪

java - 将绘制的圆圈对象添加到 Arraylist

java - Tomcat:无法销毁与 ProtocolHandler 关联的端点

mysql - 进行插入时获取并使用唯一 ID

java - 打印一定范围内的不重复随机数

mysql - 过滤掉 MySQL 中的唯一行

java - PESSIMISTIC_WRITE 是否锁定了整个表?