sql >> Databasteknik >  >> RDS >> PostgreSQL

JDBC Prepared statement-parameter inuti json

Jag nådde faktiskt JDBC-utvecklare på Github och efter några diskussioner verkar det som att den bästa lösningen för närvarande är att ha det förberedda uttalandet enligt följande:

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

och skicka hela sökkriteriet som ett strängat JSON-objekt för parametern:

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

det är inte en perfekt lösning men verkar vara den bästa möjliga på grund av bristen på serverkapacitet. I slutändan är det inte så illa eftersom det (teoretiskt) inte finns någon risk för SQL-injektion.

Mer information om det länkade Github-problemet.




  1. Hur man lagrar återkommande datum med tanke på sommartid

  2. MySQL - välj alla objekt med flera hashtags

  3. Bästa metoder:Spåra bannervisningar

  4. JPA-sökning String, Long och Boolean