我创建了一个实体学生,并具有以下属性:
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long studentId;
private String studentName;
// Setters and getters
}它生成类似于1,2,3等的studentId,这意味着它正在按预期递增值。
现在,我已经删除了我的数据库student_db,并再次以相同的名称创建了数据库。然后重新启动我的application.Now,我在这里注意到了以下几点:
现在是问题还是我不知道是什么?
我是从上次的studentId自动生成的,我的意思是studentId是4,我不知道为什么会这样。我的预期结果是,studentId应该从1开始,不管我丢弃数据库多少次。这种情况发生在@GeneratedValue(strategy = GenerationType.IDENTITY)和@GeneratedValue(strategy = GenerationType.AUTO)身上。
我使用的方法如下:
Spring Boot 2.0.0 RELEASE
MySQL 5.7.23在我的application.properties文件中,我设置了
spring.jpa.hibernate.ddl-auto = update我在这里错过了什么?
发布于 2018-08-10 10:55:44
这与MySQL本身有关。您可以尝试截断该表,以查看此问题是否消失:
TRUNCATE TABLE table_name; 然后运行命令来重置AUTO_INCREMENT:
ALTER TABLE table_name AUTO_INCREMENT = 1; 发布于 2020-03-20 23:55:58
请尝试
@GeneratedValue(
strategy= GenerationType.AUTO,
generator="native"
)
@GenericGenerator(
name = "native",
strategy = "native"
)
private Long id;https://stackoverflow.com/questions/51784659
复制相似问题