Может ли спящий режим вызывать ошибку «извлечение из последовательности»? - PullRequest
1 голос
/ 09 января 2020

Я пытаюсь выполнить этот запрос (в Oracle DB) с помощью Hibernate / Spring JPA:

@Query( value = "DELETE from MY_TABLE where ID = :ID", nativeQuery = true)
    void delete(Long ID);

В таблице есть триггер BEFORE DELETE, который компенсирует плохой дизайн таблицы что я не могу изменить, он работает вокруг удаления строк из зависимых таблиц, так что базовый DELETE не вызывает ошибок внешнего ключа. Я вполне уверен, что это не должно быть проблемой, но если это будет, дайте мне знать.

Теперь, при выполнении, этот запрос вызывает ошибку ORA-01002: fetch out of sequence, которая, по словам Google, возникает, когда a fetch has been attempted from a cursor which is no longer valid. (Чтобы было совершенно ясно, я не инициировал никаких курсоров с моим запросом или моим триггером)

НО , строка и все ее зависимые на самом деле удаляется успешно . Из-за этого я не уверен, что является причиной ошибки и хотел бы помочь yalls

1 Ответ

0 голосов
/ 09 января 2020

Метод должен быть:

@Modifying
@Query( value = "DELETE from MY_TABLE where ID = :ID", nativeQuery = true)
    void delete(@Param("ID") Long ID);

Попробуйте и проверьте, существует ли проблема по-прежнему.

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