【问题标题】:How to wrap Jpa @Query placeholder in single quotes如何将 Jpa @Query 占位符用单引号括起来
【发布时间】:2021-11-29 03:52:52
【问题描述】:

我有一个这样的查询:

@Query(nativeQuery = true, value = "" +
      "SELECT f.name AS name " +
      "FROM foo f " +
      "WHERE f.date > current_date - INTERVAL :days DAY")
Optional<Object> foo(Integer days);

问题是:days 需要用单引号括起来。

当我尝试做这样的事情时

"WHERE f.date > current_date - INTERVAL '" + ":days" + "' DAY"

或者这个

"WHERE f.date > current_date - INTERVAL ':days' DAY"

:days 占位符不会被转义。

我正在使用 Postgres 数据库。有没有人可以解决这个问题?

非常感谢任何帮助!

【问题讨论】:

    标签: java postgresql spring-boot hibernate jpa


    【解决方案1】:

    我找到了解决方案。我只需要执行以下操作

    "WHERE f.date > current_date - :days * INTERVAL '1' DAY"
    

    感谢this solution

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 2021-01-29
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多