如何设置Hibernate4+PostgreSQL中的自增字段?

本文介绍了如何在PostgreSQL中利用sequence实现自增字段,并通过Hibernate4的annotation简化操作,提供了从数据库层面到ORM层面的自增字段设置策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,在PostgreSQL中是通过创建一个sequence来设置自增字段的,如下:

-- Sequence: seq_department_id

-- DROP SEQUENCE seq_department_id;

CREATE SEQUENCE seq_department_id
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9999999999
  START 2
  CACHE 1;
ALTER TABLE seq_department_id
  OWNER TO postgres;
相对应的,你可以将ID设置成serial类型,如果这么做,PostgreSQL将自动为你设置sequence类似:department_id_seq这样。

但是,如果你用Hibernate4的annotation的话,你也可以将ID设置成integer,然后在你的entity类中这么做:

@Id
@SequenceGenerator(name = "seq_department_id", allocationSize = 1, initialValue = 1, sequenceName = "seq_department_id")
@GeneratedValue(generator = "seq_department_id", strategy = GenerationType.SEQUENCE)
private long id;
此时Hibernate可以自己去数据库中找对应的sequence名字,然后与之关联。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值