2016-10-04 8 views
2

私は{"Name":[{"value":"First Name"}],"City":[{"value":"Delhi"},{"value":"London"]}のvarchar値をdbの列に格納しています。私はデリーを持つすべての人をJPQLで検索する必要があります。 dbにJSON文字列を格納すると良いですか?DBONに格納されたJSON文字列からデータを検索

+0

検索でそのインデックスまたは列を使用する場合は、列内に固定する方がよい(行の列として分離する)。 – Beginner

+0

あなたのデータベースは何ですか? –

+0

多くのデザイン変更が必要なので、私はそれを分けることができません。 DBはHSQL 2.3 – Shailendra

答えて

0

ほとんどの場合、部分文字列のマッチングがうまくいく可能性がありますが、正確ではなく、処理が遅くなります。

は、あなたはそのような何かを試すことができます。

StringBuilder sb = new StringBuilder(); 
sb.append("SELECT table FROM Table table "); 
sb.append("WHERE table.columnWithJson like '%\"City\":[%:city%]}' "); 

Query q = em.createQuery(sb.toString()) 
q.setParameter("city", ""Delhi); 

あなたは正規表現をサポートするいくつかのデータベースを使用していて、JPQLを放棄し、ネイティブクエリを使用して気にしない場合は、これはあまりにもあなたのための代替手段です。

関連する問題