逃离冒号":"在Hibernate / Postgres / JSON中

时间:2015-06-06 01:33:04

标签: json hibernate postgresql escaping

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

在直接SQL中,以下工作正常:

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

我已经尝试过逃避&#34; :: json&#34;我可以在网上找到。

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

:\\:
\\::

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

无论组合如何,我都会得到无效的查询,并未设置所有已命名的参数或参数前缀后不允许使用空格

还有其他方法吗?

任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:4)

x::json只是PostgreSQL特定的将x投射到json的方式,如果你没有&#39,则不必使用::语法; t想要或者如果你不想,因为有人想使用冒号作为命名参数。您可以随时使用普通旧标准cast

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