我正在将一些数据直接导入数据库。但是,查看实体的定义(注),Id属性的定义如下:
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "id_note", nullable = false)
private int id;
因为没有通知生成器,所以我不知道休眠状态正在哪里获取下一个ID。
我查看了序列' public.hibernate_sequence '的当前值,但是当笔记实体现在位于64265311时,其当前值约为1266826。
解决方法
我可以从示例(64265311 + 100000)开始创建一个新序列,并使用它来插入我必须导入的数据。当应用程序到达此ID(由我手动创建)时,他会检测到该ID正在使用中并提供新ID还是将其覆盖?
谢谢。