SpringBoot @GeneratedValue 四种参数

本文介绍了SpringBoot的@GeneratedValue注解。通常该注解无需加参数,但数据库控制主键自增时不加会报错。其strategy属性有四种值,分别是AUTO(程序控制主键)、IDENTITY(数据库自增长)、SEQUENCE(通过数据库序列产生主键)、Table(特定数据库产生主键)。

SpringBoot@GeneratedValue 四种参数

按照大家学习SpringBoot的经验来看, SpringBoot的@GeneratedValue 是不需要加参数的,但是如果数据库控制主键自增(auto_increment), 不加参数就会报错.(血的教训, 看了@GeneratedValue源代码才知道)

 

@GeneratedValue(strategy=GenerationType.IDENINY)

 

PS:@GeneratedValue注解的strategy属性提供四种值:

-AUTO主键由程序控制, 是默认选项 ,不设置就是这个

 

-IDENTITY 主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式

 

-SEQUENCE 通过数据库的序列产生主键, MYSQL  不支持

 

-Table 提供特定的数据库产生主键, 该方式更有利于数据库的移植

转载于:https://www.cnblogs.com/mark5/p/10929107.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值