Изначально я столкнулся с ошибкой:
Код: Выделить всё
Caused by: org.postgresql.util.PSQLException: ERROR: relation "public.revinfo_seq" does not exist
Position: 16
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2675)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2365)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:355)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:490)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:408)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:166)
at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:118)
at io.agroal.pool.wrapper.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:78)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:
После исправления имени последовательности вышеуказанная проблема была решена. Однако через некоторое время я обнаружил еще одну проблему.
Я столкнулся со следующей ошибкой:
Код: Выделить всё
org.hibernate.exception.ConstraintViolationException: could not execute statement [ERROR: duplicate key value violates unique constraint "pk_revinfo"
Detail: Key (rev)=(60) already exists.] [insert into public.REVINFO (REVTSTMP,REV) values (?,?)]
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:95)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:56)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:278)
at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.performNonBatchedMutation(AbstractMutationExecutor.java:108)
at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleNonBatched.performNonBatchedOperations(MutationExecutorSingleNonBatched.java:40)
at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:53)
at org.hibernate.persister.entity.mutation.InsertCoordinator.doStaticInserts(InsertCoordinator.java:170)
at org.hibernate.persister.entity.mutation.InsertCoordinator.coordinateInsert(InsertCoordinator.java:112)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2761)
at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:102)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:606)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:358)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
...
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "pk_revinfo"
Detail: Key (rev)=(60) already exists.
Код: Выделить всё
create table revinfo
(
rev bigserial,
revtstmp bigint
);
alter table revinfo
add constraint pk_revinfo
primary key (rev);
Похоже, проблема связана с синхронизацией последовательности. Хотя конкретная причина еще не определена, проблеме могут способствовать такие факторы, как откат транзакций, параллельные операции или неправильное управление последовательностями.
Я подозреваю, что переход на Quarkus 3.2. 0.Final мог повлиять на поведение, поскольку синхронизация последовательностей работала правильно до миграции.
Я также использую Hibernate Envers для аудита своих таблиц, включая revinfo< /код> таблица. Однако, поскольку проблема возникает даже без какой-либо ссылки на таблицу revinfo в моих основных таблицах, похоже, что проблема заключается в синхронизации последовательностей, а не в самом аудите.
Кто-нибудь сталкивался с подобной проблемой и мог бы дать совет по ее решению и выявлению ее основной причины?
Ваши идеи и предложения будут очень признательны при решении упомянутой выше проблемы синхронизации последовательностей.
Пожалуйста, не стесняйтесь поделиться любым опытом или рекомендациями, которые могут помочь в эффективное устранение неполадок и решение проблемы.
Заранее благодарим за помощь
P.S. Используемая база данных — PostgreSQL
Подробнее здесь: https://stackoverflow.com/questions/767 ... -migration
Мобильная версия