当前位置: 首页 > news >正文

开发指南130-实体类的主键生成策略

       平台实体类是依据JPA规范的,首先需要使用@Id注解。@Id 用于指定一个实体类的属性作为该实体的唯一标识符(即主键)。在 JPA 中,每个实体都必须有一个唯一标识符,以便在数据库中唯一标识该实体的实例。

        平台统一规定使用字符串类型做完主键。

   @Id 注解本身不指定主键的生成策略,还需要@GeneratedValue注解来实现。

         @GeneratedValue规定的生成策略包括

         1. 使用数据库自增策略(IDENTITY)

         2. 使用序列(SEQUENCE)

          3. 使用表(TABLE)

          4. 自动策略(AUTO)

          以上方法都和数据库相关,本平台不采用。平台采用如下自定义方式:

@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "****")

其中strategy可以有如下取值(只介绍平台使用的俩个取值):

  1. uuid.hex
    生成 UUID 字符串作为主键,长度为 32 位,格式如 a1b2c3d4-e5f6-7890-abcd-1234567890ab

  2. assigned主键由用户手动分配,而非由框架自动生成,需要在保存实体前手动设置主键值。

     总之,平台使用uuid格式的字符串作为关键字

http://www.dtcms.com/a/326405.html

相关文章:

  • 达梦数据库慢SQL日志收集和分析
  • 机器学习 TF-IDF提取关键词,从原理到实践的文本特征提取利器​
  • Java 之抽象类和接口
  • 数据结构-数组扩容
  • 2025苹果CMS泛目录 8月最新可用
  • 软件测评中HTTP 安全头的配置与测试规范
  • 鸿蒙开发中所有自定义装饰器的完整案例解析--涵盖 16 个核心装饰器的详细用法和实战场景
  • QT 高分屏不同缩放比例的自适应处理
  • 数据科学与计算实例应用
  • 借助 ChatGPT 快速实现 TinyMCE 段落间距与行间距调节
  • Ansible 面试题 20250811
  • OpenGL中的EBO:高效渲染的秘密武器(绘制四边形)(Unreal Engine、Unity、Godot原理系列)
  • JavaScript中map和forEach的区别详解
  • 动捕设备是什么?全面解析NOKOV度量动捕设备的原理、类型与应用
  • redis(1)-基本概念
  • ROS2不同版本的区别
  • JVM 运行时全景:从类加载到 GC 的底层原理与调优指南
  • JVM运维
  • javaJVM ‘
  • 电子电气架构 --- 软件定义汽车的驱动和挑战
  • C++多态是如何实现
  • # Java制作堆Dump
  • 学习观察和行动:机器人操作中任务-觉察的视图规划
  • 如何解决 JetBrains IntelliJ IDEA 2024.2 和 2025.2 新版本区域选择问题:key is invalid
  • 【后端】struct.pack()
  • 【昇腾】Atlas 500 A2智能小站M.2 SATA盘启动Ubuntu22.04系统CPU占用过高问题处理_20250811
  • Qt-信号和槽
  • Android16新特性速记
  • Python day 41
  • [langchian]使用langchain构建一个chatbot