SpringBoot JPA主键是String 怎么自增
1.数据库的id是varchar类型 不能在新建表的时候设置自增 所以需要在代码里面添加id的值
但是在实体类的id字段添加@GeneratedValue(strategy=GenerationType.AUTO) 注解 无效
换成别的也都无效
–IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式;
–AUTO: JPA自动选择合适的策略,是默认选项;
–SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式
–TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。
2.后来才知道 要在主键字段上面添加@GeneratedValue(generator = “user-uuid”)
在实体类上面添加@GenericGenerator(name = “user-uuid”, strategy = “uuid”)
就好了
package com.zhao.base.po;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
@Entity
@Data
@GenericGenerator(name = "user-uuid", strategy = "uuid")
@Table(name = "tb_label")
public class LabelPO {
@ApiModelProperty(value = "id")
@Id
@GeneratedValue(generator = "user-uuid")
@Column(name = "id")
private String id;
@Column(name = "label_name")
@ApiModelProperty(value = "标签名称")
private String labelname;
@Column(name = "state")
@ApiModelProperty(value = "状态")
private String state;
@Column(name = "count")
@ApiModelProperty(value = "使用数量")
private String count;
@Column(name = "fans")
@ApiModelProperty(value = "关注数")
private String fans;
@Column(name = "recommend")
@ApiModelProperty(value = "是否推荐")
private String recommend;
}