【问题标题】:Refresh an Oracle Materialized view in a Spring Data Repository在 Spring Data Repository 中刷新 Oracle Materialized 视图
【发布时间】:2018-07-18 23:13:43
【问题描述】:

在查询 Spring Data Repository 之前,我需要刷新 Oracle 数据库中的物化视图。我正在尝试通过具有本机查询的存储库中的函数来执行此操作,如下所示。

@Query("BEGIN DBMS_SNAPSHOT.REFRESH('MY_VIEW', 'C'); END;", nativeQuery = true)
fun refreshMaterializedView()

但是,我在调用此方法时收到java.lang.NegativeArraySizeException,尽管直接在数据库上运行时它工作正常。我在这里做错了什么?是否有其他方法可以强制物化视图刷新?

【问题讨论】:

  • 这可能通过 @Modifying 注释实现
  • @JensSchauder 谢谢,这行得通!如果您想将此作为答案发布,我会接受。

标签: oracle hibernate spring-boot kotlin spring-data-jpa


【解决方案1】:

您需要使用@Modifying 注释您的方法。它确实适用于 DML 语句,但也适用于此。

@Modifying
@Query("BEGIN DBMS_SNAPSHOT.REFRESH('MY_VIEW', 'C'); END;", nativeQuery = true)
fun refreshMaterializedView()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    相关资源
    最近更新 更多