sql >> Databáze >  >> RDS >> PostgreSQL

JDBC Připravený parametr příkazu uvnitř json

Ve skutečnosti jsem oslovil vývojáře JDBC na Github a po několika diskusích se zdá, že v současnosti je nejlepším řešením mít připravený výpis takto:

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

a předejte celá vyhledávací kritéria jako stringified objekt JSON pro parametr:

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

to není dokonalé řešení, ale zdá se nejlepší možné kvůli nedostatku serverových schopností. Nakonec to není tak špatné, protože (teoreticky) nehrozí žádné riziko SQL injection.

Další podrobnosti o propojeném problému Github.




  1. Smyčka přes vkládací dotaz v PHP

  2. Jak mohu použít kaskádové mazání se serverem SQL?

  3. Postgres - VYTVOŘTE TABULKU Z VÝBĚRU

  4. Výsledek odezvy součtu PHP za běhu (obtížné)