【发布时间】:2014-02-10 05:16:09
【问题描述】:
使用以下方法生成的 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 语法重新创建它似乎解决了我的问题。
【问题讨论】:
-
不指定actorID可以通过mysql workbench插入表吗?
-
Errrhh...我前段时间遇到了这个问题。真的很难找到。如果你删除了
@Column注释会发生什么?恕我直言,不需要它。