gpt4 book ai didi

java - hibernate/SQLException : field doesn't have default value

转载 作者:行者123 更新时间:2023-11-29 01:29:29 26 4
gpt4 key购买 nike

mySQL 表生成使用:

CREATE TABLE `actors` (
`actorID` INT(11) NOT NULL,
`actorName` VARCHAR(255) NOT NULL,
PRIMARY KEY AUTO_INCREMENT (actorID)
);

映射类:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "actorID", length = 11, unique = true, nullable = false)
private int actorID;
....

错误:

ERROR: Field 'actorID' doesn't have a default value

尝试创建新的 Actor 对象并将其保存到数据库时会遇到此错误。

我已经尝试使用其他生成策略,并根据类似问题的答案删除/重建表/整个数据库。到目前为止没有运气。

谢谢你的时间,塞缪尔·史密斯

编辑:删除表并使用 shippi 显示的 SQL 语法重新创建它似乎解决了我的问题。

最佳答案

只是尝试使用

@GeneratedValue(strategy=GenerationType.AUTO)
@Id
@Column(name = "actorID")
private int actorID;

这应该可以解决您的问题。如果保存,请将 actorID 留空。

还要确保数据库工作正常,尝试编写不插入 ID 的插入语句,让我们看看纯插入是否正常工作。如果直接插入对数据库有效,您可以开始对 hibernate 进行故障排除。

还有一点,我用来在定义列的同一行中定义 PH 和自动增量:

actorID INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

但它应该以任何一种方式工作。

关于java - hibernate/SQLException : field doesn't have default value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21244110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com