После обновления Java с 11 до 21 и Hibernate Envers до 6.4.4.Final я столкнулся со следующей ошибкой при сохранении данных в таблице аудита:
org.springframework.dao.DataIntegrityViolationException: не удалось выполнить оператор [ОШИБКА: повторяющееся значение ключа нарушает уникальное ограничение "revinfo_pkey"
Я использую @Audited< /code> и @EntityListeners(AuditingEntityListener.class) для создания таблиц аудита. У меня уже есть несколько таблиц аудита и таблица revinfo с существующими записями. Ошибка возникает из-за того, что процесс вставки не добавляется в конец таблицы revinfo, а начинается с начала, что приводит к периодическим нарушениям дублирования ключей. В идеале вставка должна начаться после последней записи.
Как решить эту проблему?
Я попытался выполнить дальнейшие обновления, чтобы решить эту проблему, но проблема сохраняется. Я предпочитаю не очищать все таблицы аудита, поскольку они содержат столбцы rev, которые являются внешними ключами, ссылающимися на таблицу revinfo.
Моя цель — восстановить предыдущее поведение, когда новые записи в таблице revinfo следовать последней существующей записи, не вызывая дублирования ключей.
Подробнее здесь: https://stackoverflow.com/questions/785 ... ring-audit
Ошибка дублирования значения ключа нарушает уникальное ограничение «revinfo_pkey» во время вставки таблицы аудита после ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение