Hibernate + Postgresql:PK不从1开始(PG序列从1开始创建)

时间:2015-09-02 06:47:13

标签: database hibernate postgresql sequence

我有一个主键为SERIAL类型的表。 这个主键受到如下序列的影响:

CREATE SEQUENCE swq
INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807
START 1 CACHE 1;

我的问题是:为什么主键在第一次执行saveorUpdate()方法后创建第一条记录,但是将id字段插入为ZERO(0)而不是ONE(1)?

来自OP的评论:

@Entity @Table(name = "table", schema = "schem") 
public class tableBE implements java.io.Serializable 
{ 
  private int idmotiv; 

  @Id @Column(name = "_id", unique = true, nullable = false) 
  public int getIdmot() { return this.idmot; }
}

1 个答案:

答案 0 :(得分:1)

使用@GeneratedValue& @SequenceGenerator注释配置。以下是示例。

@Id
@GeneratedValue(generator="Hib_Seq")
@SequenceGenerator(name="Hib_Seq", sequenceName="swq")
private int idmotiv;