一、问题描述
修改实体主键的设置方式为int自增模式,也就是
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
本以为直接用repository.save,直接万事大吉,结果报错:
Field 'id' doesn't have a default value
二、解决办法
查了很多资料,有的说表结构没有勾选自增选项云云,但我这是jpa自动建表啊,也不用我手动去搞表结构。
后来发现我把表结构删了重新执行代码就正常了。
三、问题原因
其实是这个配置搞的事情:
jpa:
hibernate:
ddl-auto: update
update只有在新增字段时候,才会修改表结构新加一个字段。
而我之前建好的表,我改了表主键生成方式,update选项并不会更新到表结构中。所以我删除了表结构,重新生成就没有问题了。