PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana saya bisa Memasukkan objek JSON ke Postgres menggunakan Java ReadyStatement?

Perilaku ini cukup mengganggu karena string JSON diterima tanpa masalah saat digunakan sebagai string literal dalam perintah SQL.

Sudah ada masalah untuk ini di repositori Github driver postgres (bahkan jika masalahnya tampaknya adalah pemrosesan sisi server).

Selain menggunakan pemeran (lihat answer of@a_horse_with_no_name) dalam string sql, pembuat masalah menawarkan dua solusi tambahan:

  1. Gunakan parameter stringtype=unspecified di URL/opsi koneksi JDBC.

Ini memberi tahu PostgreSQL bahwa semua parameter teks atau varchar sebenarnya dari tipe yang tidak diketahui, membiarkannya menyimpulkan tipenya dengan lebih bebas.

  1. Bungkus parameter dalam org.postgresql.util.PGobject :

 PGobject jsonObject = new PGobject();
 jsonObject.setType("json");
 jsonObject.setValue(yourJsonString);
 pstmt.setObject(11, jsonObject);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cegah pemicu rekursif di PostgreSQL

  2. PostgreSQL - jumlah maksimum parameter dalam klausa IN?

  3. Apa cara tercepat untuk memotong cap waktu menjadi 5 menit di Postgres?

  4. Bagaimana Setseed() Bekerja di PostgreSQL

  5. Mencegah entri yang berdekatan/tumpang tindih dengan EXCLUDE di PostgreSQL