栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot JPA主键是String 怎么自增

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot JPA主键是String 怎么自增

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;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号