【问题标题】:JPA / JPQL query without resultSet nor update/delete count没有结果集的 JPA / JPQL 查询不更新/删除计数
【发布时间】:2019-02-11 22:06:51
【问题描述】:

我希望执行一个 (Postgre)SQL 本机查询,它不是“SELECT”、“UPDATE”或“DELETE”查询。它是“REFRESH MATERIALIZED VIEW view_name;”并且据我所知没有结果。

使用 JPA / JPQL 执行此类查询的正确方法是什么?

javax.persistence.Query 上的执行方法似乎需要结果集或更新/删除计数。

【问题讨论】:

  • 您是否尝试过创建本机查询并调用 executeUpdate()?另一个想法可能是将调用打包在存储过程中,并从 JPA 调用存储过程
  • 我还没有,因为我远离我的键盘。我可以很快告诉结果。

标签: sql postgresql jpa jpql


【解决方案1】:

最后,executeUpdate() 是完成这项工作的正确方法。

final javax.persistence.EntityManager em;
em.createNativeQuery("REFRESH MATERIALIZED VIEW view_name;").executeUpdate();

【讨论】:

    猜你喜欢
    • 2020-07-18
    • 2019-07-16
    • 2015-04-10
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    相关资源
    最近更新 更多