PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

JDBC Tham số câu lệnh được chuẩn bị sẵn bên trong json

Tôi thực sự đã liên hệ với các nhà phát triển JDBC qua Github và sau một số cuộc thảo luận, có vẻ như giải pháp tốt nhất hiện tại là chuẩn bị tuyên bố như sau:

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

và chuyển toàn bộ tiêu chí tìm kiếm dưới dạng đối tượng JSON được xâu chuỗi cho tham số:

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

đó không phải là một giải pháp hoàn hảo nhưng có vẻ là tốt nhất có thể do thiếu khả năng của máy chủ. Cuối cùng, nó không quá tệ vì (về mặt lý thuyết) không có nguy cơ bị tiêm SQL.

Thêm chi tiết về vấn đề Github được liên kết.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lệnh SQL dừng công việc trong pgAdmin 4

  2. Nhóm người dùng PostgreSQL NL

  3. INSERT [...] ON CONFLICT có thể được sử dụng cho các vi phạm khóa ngoại không?

  4. PG ::UndefinedTable:ERROR:quan hệ không tồn tại với quy ước và đặt tên Rails chính xác

  5. Đã xảy ra lỗi khi đọc dữ liệu từ nhà cung cấp. Chứng chỉ từ xa không hợp lệ theo quy trình xác thực