SpringBoot——@GeneratedValue注解

本文介绍了SpringBoot中@GeneratedValue注解的作用,主要用于自定义主键生成策略。注解包含strategy和generator两个属性,strategy定义了四种主键生成方式:AUTO、IDENTITY、SEQUENCE和TABLE,并详细列举了这四种策略在不同数据库(如MySQL、Oracle、PostgreSQL和Kingbase)中的支持情况。
摘要由CSDN通过智能技术生成

作用(自定义主键生成策略):

@GeneratedValue注解存在的意义主要就是为一个实体生成一个唯一标识的主键,@GeneratedValue提供了主键的生成策略,即主要作用时自定义主键生成策略。默认SpringBoot的@GeneratedValue 是不需要加参数的,但是如果数据库控制主键自增(Auto_Increment), 不加参数就会报错。

@GeneratedValue注解有两个属性,分别是strategy和generator。

generator属性

generator属性的值是一个字符串,默认为"",其声明了主键生成器的名称。

strategy属性
strategy属性,提供四种值:

  1. AUTO主键由程序控制, 是默认选项 ,不设置就是这个
  2. IDENTITY 主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式
  3. SEQUENCE 通过数据库的序列产生主键, MYSQL  不支持
  4. Table 提供特定的数据库产生主键, 该方式更有利于数据库的移植

四种数据库的支持情况:

  1. mysql数据库:
    支持 GenerationType.TABLE
    支持 GenerationType.AUTO
    支持 G
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值