【问题标题】:Hibernate refresh materialized viewHibernate 刷新物化视图
【发布时间】:2015-12-10 12:37:48
【问题描述】:

我遇到了使用以下代码刷新物化视图(POSGRESQL)的麻烦:

String hql = "refresh materialized view mv_all_operations; refresh materialized view mv_all_members;";
createQuery(hql).executeUpdate();

例外:

antlr.NoViableAltException: unexpected token: refresh
        at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:169) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:268) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:182) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:138) ~[hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:105) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:221) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:199) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]
        at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1784) [hibernate-core-4.2.7.Final.jar:4.2.7.Final]

似乎我无法以这种方式更新我的观点,但我找不到任何其他机会在代码中执行此操作。有什么建议吗?

【问题讨论】:

  • 使用原生查询而不是 hql

标签: hibernate


【解决方案1】:

使用本机查询而不是 hql。

String sql = "refresh materialized view mv_all_operations; refresh materialized view mv_all_members;";
createNativeQuery(sql).executeUpdate();

【讨论】:

  • 和我做的一模一样,对我有帮助,谢谢!
猜你喜欢
  • 2021-10-14
  • 2014-07-11
  • 2017-11-13
  • 2017-06-07
  • 2012-07-04
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 2012-07-18
相关资源
最近更新 更多