JPA设置entity实例的主键策略为identity,不提交事务为什么后台有Insert这条记录的语句,但是数据库表中查不到这条记录
奇怪的是重新执行一次插入的事务且提交到数据库,对应的记录主键值不连续。
[img=https://img-bbs.csdn.net/upload/202005/15/1589548612_914621.png][/img]
[img=https://img-bbs.csdn.net/upload/202005/15/1589548674_972964.png][/img]
[img=https://img-bbs.csdn.net/upload/202005/15/1589548709_856249.png][/img]
[color=#FF0000]这些记录都是之前就有的,这次因为没有提交所以没有查到主键为16的记录,但是后台会打出inset语句的日志,这是什么原因呢?[/color]
[color=#FF0000]将commit放开,再执行一次[/color]
[img=https://img-bbs.csdn.net/upload/202005/15/1589548891_466455.png][/img]
[img=https://img-bbs.csdn.net/upload/202005/15/1589548907_208596.png][/img]
这次插入成功,数据库表能查到记录了,但是主键值不是16,而是17,上次插入的记录虽然没有插入成功却影响到了之后的记录,
这是什么原因?
JPA设置entity实例的主键策略为identity,不提交事务,后台有insert语句,但是表中无记录,且主键自动递增了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-