我正在尝试使用 Hibernate/Spring JPA 执行此查询(在 Oracle DB 中):
@Query( value = "DELETE from MY_TABLE where ID = :ID", nativeQuery = true)
void delete(Long ID);
表上有一个 BEFORE DELETE 触发器,它弥补了我无法更改的不良表设计,它围绕从依赖表中删除行运行,以便基本 DELETE 不会导致任何外键错误。我相当确定这不应该是一个问题,但如果有,请告诉我。
现在,执行此查询时会导致 ORA-01002: fetch out of order
错误,根据 google 的说法,该错误是在尝试从不再有效的游标中进行提取
时引起的。 (要完全清楚的是,我没有使用我的查询或触发器启动任何游标)
但是,该行及其所有依赖实际上已成功删除。因此,我不确定是什么导致了错误,希望得到大家的帮助
最佳答案
方法应该是:
@Modifying
@Query( value = "DELETE from MY_TABLE where ID = :ID", nativeQuery = true)
void delete(@Param("ID") Long ID);
尝试此操作并检查问题是否仍然存在。
关于java - hibernate 可能导致此 'fetch out of sequence' 错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59669256/