我使用Hibernate的注解来生成我的数据库表:hibernate批注如何生成主键?
public class Item {
@Id @GeneratedValue
@Column(name="itemid", unique = true, nullable = false)
private long id;
}
但我不明白它是如何生成的ID。我假设它会生成与表中已有的id不同的id。但事实是,它不会持续产生id。下面的图片是从我的数据库:
有时,当我重建我的项目,要插入一个新的项目到数据库中,它产生的itemid是相同与之前(例如,12,已经在表中),并且由于这个原因,插入将失败,因为它不允许重复键。
任何人都知道为什么会发生这种情况?
取决于数据库。你在用什么? –
我正在使用mysqlworkbench – user5516371