【问题标题】:Escaping colon ":" in Hibernate/Postgres/JSON在 Hibernate/Postgres/JSON 中转义冒号“:”
【发布时间】:2015-08-21 02:02:04
【问题描述】:

我正在尝试构建一个使用 postgress json 搜索功能的 HQL 查询。

在直接 SQL 中,以下内容按预期工作:

sb.append("select...<blah>, regexp_split_to_table(fe.meta::json->>'elementName', ',') ...

我已经尝试了所有可以在网上找到的转义“::json”的组合。

sb.append("select...<blash>, regexp_split_to_table(fe.meta\\:\\:json->>'elementName', ',') ...

:\\:
\\::

使用!:!:,然后添加转义!

无论组合如何,我要么得到无效的查询,要么没有设置所有命名参数,要么参数前缀后不允许有空格

还有其他方法吗?

非常感谢任何帮助!

【问题讨论】:

    标签: json hibernate postgresql escaping


    【解决方案1】:

    x::json 只是将x 转换为json 的一种特定于PostgreSQL 的方式,如果您不想使用或不能使用:: 语法,因为有人想要对命名参数使用冒号。您始终可以使用普通的旧标准 cast 代替:

    cast(fe.meta as json)->>'elementName'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-20
      • 2013-01-30
      • 1970-01-01
      • 2015-11-11
      • 2021-06-20
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      相关资源
      最近更新 更多