在查询Spring数据存储库之前,我需要刷新Oracle数据库中的实例化视图。我尝试通过存储库中的一个函数使用原生查询来实现这一点,如下所示。
@Query("BEGIN DBMS_SNAPSHOT.REFRESH('MY_VIEW', 'C'); END;", nativeQuery = true)
fun refreshMaterializedView()然而,我在调用这个方法时得到了java.lang.NegativeArraySizeException,尽管它在直接在数据库上运行时工作得很好。我在这里做错了什么?是否有强制实体化视图刷新的替代方法?
发布于 2018-02-14 01:12:39
你需要用@Modifying注释你的方法。它实际上是为DML语句设计的,但也适用于此。
@Modifying
@Query("BEGIN DBMS_SNAPSHOT.REFRESH('MY_VIEW', 'C'); END;", nativeQuery = true)
fun refreshMaterializedView()https://stackoverflow.com/questions/48684552
复制相似问题