java - hibernate 可能导致此 'fetch out of sequence' 错误吗?

标签 java oracle hibernate

我正在尝试使用 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/

相关文章:

java - 仅限 HIbernate show_sql 开发

sql - 从 Oracle 的 Select (not Distinct) 中的第一列中删除重复项

java - 我可以通过 java 代码从 Oracle DB 进行 HTTP 调出吗

Oracle建表问题

java - 选择更新不起作用

java - PostgreSQL 使用 JPA 和 Hibernate 抛出 "column is of type jsonb but expression is of type bytea"

java - 我的帖子图片不会显示在主要 Activity 中

java - Oracle JDeveloper 12C 和集成 Weblogic Server 未运行 Windows 10

java - 为方法调用的异步执行创建自定义 "Asynch"注释是个好主意吗?

java - Spring JPA 缓存 - 我是否应该避免从存储库中多次检索相同的资源?