首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Hibernate 註解教程(三):ID 生成器策略詳解

     編輯:Java 相關知識

標準 JPA 生成策略

使用 @GeneratedValue 配置:

1. AUTO(跨數據庫自動選擇)

@Id
@GeneratedValue(strategy = GenerationType.AUTO)

2. IDENTITY(MySQL 自增)

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

3. SEQUENCE(Oracle 序列)

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="s_gen")
@SequenceGenerator(name="s_gen", sequenceName="s_seq")

4. TABLE(表模擬序列)

GenerationType.TABLE 通過表記錄序列值,跨數據庫兼容性最好。

Hibernate 原生生成器

使用 @GenericGenerator 配合 @GeneratedValue:

@GeneratedValue(generator="id1")
@GenericGenerator(name="id1", strategy="identity")

內置生成器列表

  • uuid / uuid.hex:UUID 十六進制
  • hilo:高低位算法
  • assigned:手動分配
  • identity:數據庫自增
  • sequence:數據庫序列
  • seqhilo:序列高低位
  • increment:內存自增(單進程)
  • foreign:外鍵關聯
  • guid:數據庫 GUID
  • sequence-identity:序列標識

共享生成器

多實體類可共用同名 generator 實現統一 ID 生成邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved