Мое приложение пытается вставить новый объект в БД (url=jdbc:h2:mem:db), и я получаю следующую ошибку:
Unique index or primary key violation: "PRIMARY KEY ON MY_TABLE(ID) ( /* key:10 */ CAST(10 AS BIGINT), UUID '00000000-0000-0000-0000-000000000000')"; SQL statement:
insert into my_table (id, account_id) values (default, ?) [23505-214]
Моя таблица объявлена как:
CREATE TABLE my_table (
id BIGSERIAL PRIMARY KEY,
account_id UUID NOT NULL
)
К сожалению, я не могу предоставить минимальный воспроизводимый пример, поскольку ошибка возникает только при запуске большого набора тестов.
Это коррелирует с другими тестами, которые также вставьте в эту таблицу. Тест НЕ запускается параллельно.
Прав ли я, что «PRIMARY KEY ON MY_TABLE(ID)» означает, что это нарушение первичного ключа? В моей таблице есть другие ограничения uniq, поэтому я не уверен.
РЕДАКТИРОВАТЬ
Вот минимальный пример для воспроизведения:
-- create
CREATE TABLE MY_TABLE (
id BIGSERIAL PRIMARY KEY,
val BIGINT NOT NULL
);
-- insert
INSERT INTO MY_TABLE VALUES (2, 99);
INSERT INTO MY_TABLE VALUES (default, 99);
INSERT INTO MY_TABLE VALUES (default, 99);
INSERT INTO MY_TABLE VALUES (default, 99);
Подробнее здесь: https://stackoverflow.com/questions/785 ... -id-column