मैंने वास्तव में Github पर JDBC डेवलपर्स से संपर्क किया। और कुछ चर्चाओं के बाद ऐसा लगता है कि वर्तमान में सबसे अच्छा समाधान तैयार कथन इस प्रकार है:
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 मुद्दे पर अधिक विवरण।