@GeneratedValue主键并没有自增

2023-10-28 23:20

本文主要是介绍@GeneratedValue主键并没有自增,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习springboot中的数据库操作,用到data-jpa,创建实体类的时候需要添加主键的注解以及自增
开始是这样写的:

import javax.persistence.GeneratedValue
import javax.persistence.Id@Id
@GeneratedValue
private Integer id;

但是结果并不是预期想象的那样
这里会生成两张表
这里写图片描述
其中girl是我需要创建的表,这个hibernate_sequence是什么鬼?应该是个需要创建的表的一个排序吧,猜测的,先不管这个
而且并没有自增!
为什么会这样呢?
了解一下@GeneratedValue这个注解:
它有一个属性:strategy,意思很明显,就是一种策略,它有四个属性值:

IDENTITY    //采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式; 
AUTO        //JPA自动选择合适的策略,是默认选项; 
SEQUENCE    //通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式 
TABLE       //通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

为了达到我们的要求,这里我们改成@GeneratedValue(strategy = GenerationType.IDENTITY) 就可以了

参考:
https://blog.csdn.net/qq_15037231/article/details/78284884

这篇关于@GeneratedValue主键并没有自增的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/296663

相关文章

豆包 MarsCode 不允许你还没有女朋友

在这个喧嚣的世界里,爱意需要被温柔地唤醒。为心爱的她制作每日一句小工具,就像是一场永不落幕的浪漫仪式,每天都在她的心田播撒爱的种子,让她的每一天都充满甜蜜与期待。 背景 在这个瞬息万变的时代,我们都在寻找那些能让我们慢下来,感受生活美好的瞬间。为了让这份浪漫持久而深刻,我们决定为女朋友定制一个每日一句小工具。这个工具会在她意想不到的时刻,为她呈现一句充满爱意的话语,让她的每一天都充满惊喜和感动

Oracle主键和外键详解及实用技巧

在 Oracle 数据库中,主键(Primary Key)和外键(Foreign Key)用于维护数据库表之间的数据完整性。 1. 主键(Primary Key) 主键是一列或多列,能够唯一标识表中的每一行。表中只能有一个主键,并且主键列不能为空(即 NOT NULL)。 特性: 唯一性:主键中的每一个值都是唯一的,不能重复。非空性:主键列不能包含 NULL 值。索引:Oracle 自动为

安装SQL2005后SQL Server Management Studio 没有出来的解决方案

一种情况,在安装 sqlServer2005 时 居然出现两个警告: 1 Com+ 目录要求 2 Edition change check 郁闷!网上说出现两个警告,是肯定装不成功的!我抱着侥幸的态度试了下,成功了。 安装成功后,正准备 “ 仅工具、联机丛书和示例(T)” 但是安装不了,他提示我“工作站组件”安装过了对现有组件无法更新或升级。 解决办法: 1 打开“控

src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录

(venv) shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddeviceCollecting pyaudioDownloading PyAudio-0.2.14.tar.gz (47 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

html记账本改写:数据重新布局,更好用了,没有localStorage保存版本

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>htm记账本</title><style>table {user-select: none;/* width: 100%; */border-collapse: collapse;}table,th,td {border: 1px solid bla

vite是如何实现依赖预构建的,浏览器为什么没有实现从node_modules查找依赖,vite开发环境解决了什么问题

浏览器的esmodule 为什么没有做从node_modules查找依赖项 浏览器是基于http请求的,node_modules中依赖项不可控,可能又会依赖很多的包,整个依赖图都需要加载的话很耗性能。 commonjs是运行在服务端的,以file形式读取文件,内部有规避机制。 依赖预构建 首先vite会找到对应的依赖,然后调用esbuild(对js语法进行处理的一个库),将其他规范的代码转换

分布式项目中使用雪花算法提前获取对象主键ID

hello,大家好,我是灰小猿! 在做分布式项目开发进行数据表结构设计时,有时候为了提高查询性能,在进行数据库表设计时,会使用自增ID来代替UUID作为数据的主键ID,但是这样就会有一个问题,数据的自增ID应该如何获取到下一个ID并且插入到库中呢? 如果你使用的是mybatisPlus,可以使用自带的自增注解加在id字段上即可,这样在数据入库时就可以自动给数据赋值自增的主键ID, 但是对于不

【maven】导入maven上没有的本地jar包

1、开别人的项目,发现有一个jar包, 明明存在,但是pom.xml文件却红线报错,本地仓库 /.m2/repository 里也没有。猜想是别人自己的jar包。 2、那么就需要向本地仓库导入这个jar包 3、打开终端,输入命令,搞定 mvn install:install-file -DgroupId=com.casaba -DartifactId=com-casaba-core

ubuntu24.04 为什么扬声器没有声音,但是戴上耳机有声音

扬声器在 Ubuntu 24.04 下没有声音,但耳机有声音,可能是由于以下几个原因造成的: 1. 输出设备设置问题 系统可能将默认输出设备设置为耳机,而非扬声器。你可以检查或更改音频输出设备: 打开“设置” -> “声音”。在“输出”部分,查看默认输出设备是否是扬声器。如果不是,请手动选择扬声器作为输出设备。 2. 静音或音量设置问题 扬声器的音量可能被设置为静音或过低: 在“声音”

包拯断案 | 数据库从库GTID在变化 为何没有数据写入@还故障一个真相

提问:作为DBA运维的你是否遇到过这些烦恼 1、数据库从库复制链路如何正确配置表过滤信息? 2、数据库从库的GTID在变化,实际却没有数据写入,究竟是什么原因? 心中有章,遇事不慌 作为DBA的你,遇到问题无从下手,除了在问题面前徘徊,还能如何选择?如果你一次或多次遇到该问题还是 无法解决,又很懊恼,该如何排忧呢?关注公众号,关注《包拯断案》专栏,让小编为你排忧解难~ #包拯秘籍#