Skip to content

Question mark not escaped in a query (using PostgreSQL JSON data) #2012

Open
@s4iko

Description

@s4iko

Hello,

I tried to do a query on a PostgresSQL database with JSON content, something like:
select * from mytable where mytable -> 'myelement' ? 'key123';
It doesn't work as this in a native query because the question mark is interpreted as a parameter.
I searched for help on this and apparently, the question mark could be escaped using one of:

  • ?? to escape in JDBC
  • \\?\\? to escape in Hibernate

None of those 2 solutions worked but should it really work ? I didn't see anything about this in the documentation... may be I missed something.

If escaping the character is not an acceptable solution, may be it is possible to add a parameter in a future version to disable the "JDBC-style parameters" and force to use :myparam or ?1 ?
I saw in the documentation that "JDBC-style parameters" have a skull head, it probably means it is a devil feature or at least a feature that we should not use so optionally not interpreting this seems to be an acceptable solution ?

As a reference, the same issue fixed in Spring Data JPA: spring-projects/spring-data-jpa#2551

Quarkus: 3.15.1
Hibernate Reactive: 2.4.0

Thank you for your help.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingwaitingWe are waiting for another PR or issue to be solved before merging this one

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions