Spring Boot中如何实现MySQL实体类ID自增?
Spring Boot中MySQL实体ID自增配置方法
要实现MySQL对应的Spring Boot实体ID自增,只需修改实体类中id字段的注解配置,具体步骤如下:
1. 添加必要注解
在id字段上补充两个关键注解:
@GeneratedValue(strategy = GenerationType.IDENTITY):指定主键生成策略为数据库自增,对应MySQL的AUTO_INCREMENT,由数据库自动生成主键值。@Column(name = "id", nullable = false, updatable = false):明确字段名,设置字段不可为空且禁止手动更新,契合自增ID的使用逻辑。
2. 修改后的完整实体类代码
package com.pruebas.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Persona { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false, updatable = false) private Integer id; @Column private String title; @Column private String description; // Getter and setter public Integer getId() { return id; } // 自增ID无需手动设置,保留setter仅为框架兼容,建议不要主动调用 public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }
3. 数据库表配置说明
- 手动建表时,需确保
id字段设置为AUTO_INCREMENT,示例建表语句:
CREATE TABLE persona ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255), description TEXT );
- 若使用Spring Data JPA自动建表(配置
spring.jpa.hibernate.ddl-auto=update或create),Hibernate会根据实体注解自动将id字段设置为AUTO_INCREMENT。
内容的提问来源于stack exchange,提问作者Edinson Morales
相关产品推荐
相关产品推荐

