jpa 表生成器 GenerationType.TABLE

简介

  1. 将当前主键的值单独保存到一个数据库的表中,主键的值每次都是从指定的表中查询来获得。
  2. 这种方法生成主键的策略可以适用于任何的数据库,不必担心不同数据库不兼容造成的问题。

使用

  • 首先创建主键生成表
create table ticket_sequences (
	S_ID varchar2(100) PRIMARY KEY NOT NULL,
  S_NEXTNUM NUMBER(20) DEFAULT NULL
)

//插入一条信息,也可以不插入,jpa会自动创建
INSERT INTO ticket_sequences ( s_id ,s_nextnum ) VALUES ( 'inventory',1);
  • jpa使用此表 生成主键值
//inventory的值每次增加1000并保存到数据库。
@Id
@TableGenerator(name = "tickets_id_gen",
       table = "ticket_sequences",
       pkColumnName = "S_ID",
       valueColumnName = "S_NEXTNUM",
       pkColumnValue = "inventory",
       allocationSize = 1000)
@GeneratedValue(strategy = GenerationType.TABLE, generator = "tickets_id_gen")
  private Long id;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值