我有一个主键为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; }
}
答案 0 :(得分:1)
使用@GeneratedValue& @SequenceGenerator注释配置。以下是示例。
@Id
@GeneratedValue(generator="Hib_Seq")
@SequenceGenerator(name="Hib_Seq", sequenceName="swq")
private int idmotiv;