PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

JDBC Подготвен параметър на изявление в json

Всъщност се свързах с разработчиците на JDBC в Github и след някои дискусии изглежда, че в момента най-доброто решение е да имате подготвеното изявление, както следва:

String query = "SELECT id, data FROM table_name WHERE data->'objects' @> ?::jsonb";

и предавайте целия критерий за търсене като JSON обект с низове за параметъра:

PreparedStatement st = connection.prepareStatement(query);
st.setString(1, "[\"id\":" + "id1" + "]");
st.executeQuery();

това не е идеалното решение, но изглежда най-доброто възможно поради липсата на сървърни възможности. В крайна сметка не е толкова лошо, тъй като (теоретично) няма риск от SQL инжектиране.

Повече подробности за свързания проблем с Github.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате Postgres any-клаузата с естествени заявки за JPA/Hibernate (параметри на масив)

  2. Две SQL LEFT JOINS дават неправилен резултат

  3. Копирайте резултатите от изглед на PostgreSQL в една DB в таблица в друга

  4. Седмици между две дати

  5. Заявка за съвпадение на низови тагове