PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

JDBC json के अंदर स्टेटमेंट पैरामीटर तैयार करता है

मैंने वास्तव में 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 मुद्दे पर अधिक विवरण।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्प्रिंग JDBC + SQL + Java 8 को पोस्टग्रेज करता है - लोकलडेट से/में रूपांतरण

  2. पोस्टग्रेज में हेक्स स्ट्रिंग को बिगिन्ट में बदलें

  3. PostgreSQL में jsonb कॉलम मान को एकाधिक कॉलम में कनवर्ट करें

  4. PostgreSQL में वेरिएबल कैसे घोषित करें

  5. PostgreSQL:CTE में पंक्तियों को कैसे अपडेट करें