Hibernate主键冲突问题解决方法

今天使用hibernate创建数据库后对数据库进行添加的时候报了这样一个错误
说是主键重复,但是我在数据库中的主键Id是自增的,为什么会重复呢,反复调试了几次,发现重复的数值会增长,第一次是1,第二次是2,第三次是3,到这里截图是4,我基本可以确定每执行一次添加它这个重复建都会加一,看了一下数据库,发现最大主键到5,我猜再执行两次应该就不会再重复了,果不其然,第六次就正常了。20200708113110529
后来我就去找了下原因,大概是Hibernate框架在插入数据库之前就生成好了主键,即主键由Hibernate产生,而非数据库产生。
如果只是测试的话可以直接把数据库多出来的几个id删除然后用Hibernate插入,或者多运行几次让重复建的值大于数据库中的总id值就好了。

还有一种方法我没试过:
在实体类上方添加注解
@GenericGenerator(name = “system-uuid”, strategy = “identity”)
然后重新运行生成表