我们遇到一个问题,我们有使用GenerationType.TABLE生成主键的Event子类,当我们重新启动服务器时,我们会遇到重复的主键错误。
我们正在使用SQL Server和Hibernate版本3.5.1-Final。
这是我们的Hibernate注释的样子:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Event {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private long eventID;
我们没有指定allocationSize,所以我们使用默认值。 hibernate序列表确实递增但似乎在重新启动它重用已经使用过的ID。
答案 0 :(得分:0)
尝试GenerationType.AUTO或SEQUENCE。 AUTO可以通过hibernate魔法工作,但SEQUENCE应该足够有趣地创建数据库中用于获取唯一ID的序列。 您使用的是哪个SQL Server?