我的 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/