JPA 是通过 annotation(注解)来映射 hibernate 实体的,基于 annotation 的 hibernate 主键标识为 @Id
, 其生成规则由 @GeneratedValue
设定。这里的 @id
和 @GeneratedValue
都是 JPA 的标准用法。
JPA 提供的四种标准用法为 TABLE、SEQUENCE、IDENTITY、AUTO。
具体说明如下:
IDENTITY
主键由数据库自动生成(主要是自动增长型)。
用法:
SEQUENCE
根据底层数据库的序列来生成主键,条件是数据库支持序列。
用法:
@SequenceGenerator
源码中的定义:
AUTO
主键由程序控制。
用法:
TABLE
使用一个特定的数据库表格来保存主键。
用法:
@TableGenerator
的定义:
这里应用表 tb_generator
,定义为 :
评论区