JdbcSQLException: уникальный индекс или нарушение первичного ключа - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть две таблицы: AccountData и Relations.Они имеют отношение один ко многим, к одному аккаунту может принадлежать больше отношений.

Я пытаюсь написать тест для своего хранилища, чтобы проверить функциональность сохранения, и я получаю:

Caused by: org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY KEY ON PUBLIC.ACC_DATA(ID)"; SQL statement:
insert into ACC_DATA (ACC_CURRENCY, STATUS, CREATED_AT, CODE, ACC_NBR, OWNER_ID, EP_ID, SUBTYPE_ID, TYPE_ID, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [23505-197]

Я определяюпервичный ключ следующим образом:

@Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_ACC_DATA")
    @SequenceGenerator(name = "SEQ_ACC_DATA", sequenceName = "SEQ_ACC_DATA", allocationSize = 50)
    private Long id;

Есть идеи?

Спасибо заранее!

1 Ответ

0 голосов
/ 05 февраля 2019

Код кажется правильным.

Сравните значение последовательности SEQ_ACC_DATA в БД и максимальное значение для столбца ID таблицы ACC_DATA.

Если столбец ID имеет значение больше, чем последовательность, вам нужно увеличить значение последовательности, чтобы новые вставки могли выполняться через код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...