我试图了解Hibernate如何在MySQL DB中使用GenerationType.SEQUENCE
生成ID值。
我已经声明了我的ID
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "gen_country")
@SequenceGenerator(name = "gen_country", sequenceName = "seq_country")
@Column(name = "id", nullable = false)
public long getId()
{
return id;
}
在我的数据库中,有下表seq_country
:
| next_val |
|:---------|
| 153 |
因此,当我插入一个新的国家/地区时,我希望它的ID为153
,而next_val
将递增。但是相反,新的国家/地区具有另一个50
这样的ID,而next_val
保持不变。
那么序列生成如何工作?
*编辑:
另外,我将hibernate.hbm2ddl.auto
设置为none