/ / Escaping colon ":" no Hibernate / Postgres / JSON - json, hibernar, postgresql, escapando

Escaping colon ":" no Hibernate / Postgres / JSON - json, hibernar, postgresql, escapando

Eu estou tentando construir uma consulta HQL que usa os recursos de pesquisa json postgress.

Em SQL direto, o seguinte funciona conforme o esperado:

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

Eu tentei todas as combinações de escape que ":: json" eu posso encontrar na web.

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

:\:
\::

usando !:!: e depois adicionando escape !

Independentemente das combinações, ou obtenho uma consulta inválida, nem todos os parâmetros nomeados foram definidos ou o Espaço não é permitido após o prefixo do parâmetro

Existe algum outro método por aí?

Qualquer ajuda muito apreciada!

Respostas:

4 para resposta № 1

x::json é apenas uma forma específica de conversão do PostgreSQL x para json, você não precisa usar o :: sintaxe se você não quiser ou se você puder t porque alguém quer usar dois pontos para parâmetros nomeados. Você sempre pode usar um padrão antigo cast em vez de:

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