JPA 多对多级联保存报错 Caused by: java.sql.SQLException: Field 'id' doesn't have a default value

测试用户和角色级联保存
报错的原因就是说主键id没用设置默认值也没用自动增长,但是我用户和角色表的生成策略都是程序控制,所以就很奇怪。
第二天在测试发现了,中间表没用维护id的生成策略,所以这个id时中间表的,太过粗心了。
解决方法:
给中间表Id字段加上 @GeneratedValue(strategy = GenerationType.IDENTITY);
并且再数据库设置改字段自动增长。

四种策略:
TABLE:使用一个特定的数据库表格来保存主键。
SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。
IDENTITY:主键由数据库自动生成(主要是自动增长型)
AUTO:主键由程序控制。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容