postgresql で次のテーブルを定義しています。
Column | Type | Modifiers
-----------------+------------------------+-----------
id | uuid | not null
entity_snapshot | text |
Indexes:
"pk_id" PRIMARY KEY, btree (id)
次の JSON 文字列を保存したいと思います。
[ "org.test.MyUniqueId", {: "uuid" : "f4b40050-9716-4346-bf84-8325fadd9876": } ]
いくつかのテストでは、Jackson を使用してこれを行う代わりに、手動で SQL を入力しようとしましたが、ここに私の問題があります - 私は ti を正しく取得できないようです。
私の現在の試みは:
insert into my_table(id,entity_snapshot) values ('d11d944e-6e78-11e1-aae1-52540015fc3f','[ \"org.test.MyUniqueId\", {: \"uuid\" : \"f4b40050-9716-4346-bf84-8325fadd9876\": } ]');
テーブルから選択するときに必要と思われるレコードを取得しますが、Jackson を使用して解析しようとするとエラーが発生します -
org.apache.commons.lang.SerializationException: org.codehaus.jackson.JsonParseException: Unexpected character (':' (code 58)): was expecting double-quote to start field name
言うまでもなく、同じレコードが私の Java コードを介して挿入された場合、それを解析することができ、人間の目でレコードを見ると、同じように見えます。
SQL挿入ステートメントのどこが間違っているか教えていただけますか?