我在使用postgreSQL
with 时遇到问题play framework
。我有一个带有注册表单的平台,有时它可以正常工作,但有时会发生此错误:
play.api.Application$$anon$1: Execution exception[[PersistenceException:
ERROR executing DML bindLog[] error[ERROR: duplicate key value violates
unique constraint "student_pkey"\n Detail: Key (id)=(1125) already exists.]]]
发生此问题是因为我想使用来自另一个数据库的转储并且 play 不知道下一个要使用的 id 是什么。
但是,我已经为每个主键创建SEQUENCES(1)
了一个annotations(2)
,但它不能正常工作。
1- SELECT SETVAL('student_seq', (SELECT MAX(id) FROM "student") + 1);
2- In model Student - @GeneratedValue(strategy= GenerationType.IDENTITY)
我不知道该怎么做。我认为使用SEQUENCE
并且annotations
Play
应该知道序列中的下一个 ID 是什么,并且还应该知道已经使用了哪些 ID!