/ / Escaping colon ":" в Hibernate / Postgres / JSON - json, хибернация, postgresql, бягство

Escaping colon ":" в Hibernate / Postgres / JSON - json, хибернация, postgresql, бягство

Опитвам се да създам заявка за 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", ",") ...

:\:
\::

използвайки !:!: и след това добавяне на бягство !

Независимо от комбинациите, получавам невалидна заявка, не са зададени всички именирани параметри или не е позволено пространство след префикс на параметъра

Има ли друг метод там?

Всяка помощ много оценявам!

Отговори:

4 за отговор № 1

x::json е само специфичен начин за кастинг по PostgreSQL x да се json, не трябва да използвате :: синтаксис, ако не искате или ако не можете, защото някой иска да използва двоеточие за име параметри. Винаги можете да използвате обикновен стар стандарт cast вместо:

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