JPA 主键生成策略

JPA提供了四种主键生成策略, 分别是:

  • AUTO 自动选择一个最适合底层数据库的主键生成策略。
  • IDENTITY: 主键由数据库自动生成, ID自增长, Oralcle 不支持
  • SEQUENCE : 主键由数据库序列产生, 通过@SequenceGenerator 指定序列, MySQL不支持
  • TABLE: 通过特定额数据库表产生主键

综合以上, 在Oracle数据库中,实现自增长的主键使用的是SEQUENCE 。

本篇演示环境

本篇演示在Oracle数据库中, 使用Spring Boot,JPA 实现自增长字段的定义以及数据的插入。
本篇开发使用的开发工具是Eclipse,使用的JPA实现是Hibernate。

  • 数据库 : Oracle
  • Spring Boot
  • JPA实现 Hibernate

开发前准备

开发前准备非本篇重点, 故简略带过。

  1. 项目创建
    这里略去Spring Boot项目创建的具体步骤, 可以参考 :
    [Spring Boot系列]1. 项目搭建之一

  2. 数据库安装及Oracle JDBC库导入。
    注意oracle JDBC库需要手动下载后导入本地Maven库。

  3. 在pom.xml 中配置Oralce 数据库连接。

    <

Spring Boot + JPA + Oracle 自增长字段实现示例相关推荐

  1. Spring Boot + JPA + Freemarker 实现后端分页 完整示例

    Spring Boot + JPA + Freemarker 实现后端分页 完整示例 界面效果 螢幕快照 2017-07-28 15.34.42.png 螢幕快照 2017-07-28 15.34.2 ...

  2. Spring Boot JPA 2.7.2

    icon: edit date: 2022-01-02 category: CategoryA tag: tag A tag B star: true Spring Boot JPA 2.7.2 项目 ...

  3. 解决spring boot+JPA实现操作数据库时编辑时也变成了新增

    场景:使用spring boot+JPA框架开发项目的时候,新增数据是正常的,但是编辑有时候会变成新增,JPA判断是否新增对象有两个方法:1根据id,2根据版本号.我在开发项目中用的是根据版本号进行判 ...

  4. 使用Spring Boot JPA Specification实现使用JSON数据来查询实体数据

    文章目录 使用Spring Boot JPA Specification实现使用JSON数据来查询实体数据 需求概要 JSON 结构的设计 使用策略模式执行不同的查询条件 构造查询条件 主逻辑具体的代 ...

  5. Spring Boot Jpa 配置多个数据源,并读取其中一个表的具体数据

    总体简介: Spring Boot Jpa配置多个数据源(此次两个mysql数据库),访问其中一个库 alime_counsel_assign_log下的assign_data_backflow表,实 ...

  6. Spring Boot Jpa之CascadeType

    Spring Boot Jpa之CascadeType JPA允许您传播从父实体到子级的状态转换.为此,JPA javax.persistence.CascadeType定义了各种级联类型: ALL ...

  7. spring boot jpa级联保存

    spring boot jpa级联保存 CascadeType oneToMany关系 one的一方中加 @OneToMany(fetch = FetchType.EAGER, cascade = C ...

  8. Spring Boot JPA 中transaction的使用

    文章目录 @Transactional的实现 @Transactional的使用 Transaction的传播级别 REQUIRED SUPPORTS MANDATORY NEVER NOT_SUPP ...

  9. Spring Boot JPA中关联表的使用

    文章目录 添加依赖 构建Entity 构建Repository 构建初始数据 测试 Spring Boot JPA中关联表的使用 本文中,我们会将会通过一个Book和Category的关联关系,来讲解 ...

最新文章

  1. Java实现队列 链式存储结构
  2. 实录分享 | 计算未来轻沙龙:对话系统研究进展(视频 + PPT)
  3. Java黑皮书课后题第9章:*9.6(秒表)设计一个名为StopWatch的类,该类包含……。编写一个测试程序,用于测量使用选择排序对100000个数字进行排序的执行时间
  4. oracle sql序列,SQL server 和Oracle 序列
  5. TensorFlow 学习(十)—— 工具函数
  6. eclipse maven scm
  7. c++ byte转cbitmap_关于 C++ 打印 PDF 打印及 PDF 转图片、合并
  8. 不了解这些“高级货”,活该你面试当炮灰。。。【石杉的架构笔记】
  9. Windows下部署安装Docker
  10. 8.2 复用(protected+向上转型+final关键字+类的初始化)
  11. 堆排序python代码实现_八大排序算法的python实现(五)堆排序
  12. 陈纪修老师《数学分析》 第07章:定积分 笔记
  13. 优化算法——差分进化算法(DE)
  14. win10关闭触摸板和键盘
  15. 有哪些超好用的邮件群发软件?这款做邮件推广的一定要试试!
  16. C语言词法分析程序的设计与实现
  17. python可以引流吗_你都用 Python 来做什么?
  18. IDEA 中使用 Big Data Tools 连接大数据组件
  19. 阿里云人脸人体--人像素描风格化效果体验
  20. 手把手教你玩转 Excel 数据透视表

热门文章

  1. python生成.exe文件
  2. [翻译] TGLStackedViewController
  3. 从myspace数据库看分布式系统数据结构变迁(转)
  4. Foxconn Core Concept
  5. vs2019 解决方案加载报错
  6. 解决LInux更新慢的问题, 更换国内软件源
  7. STM32单片机在Keil5下仿真的问题解决及GPIO口初始化、使用
  8. 【报告分享】2020金融兴趣人群内容消费及理财意识洞察报告.pdf(附下载链接)...
  9. 【报告分享】2019云安全威胁报告.pdf(附下载链接)
  10. 【报告分享】快消产业互联网案例研究报告.pdf(附下载链接)