hibernate-reactive icon indicating copy to clipboard operation
hibernate-reactive copied to clipboard

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

Open s4iko opened this issue 1 year ago • 6 comments

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: https://github.com/spring-projects/spring-data-jpa/issues/2551

Quarkus: 3.15.1 Hibernate Reactive: 2.4.0

Thank you for your help.

s4iko avatar Nov 08 '24 14:11 s4iko