2
私は{"Name":[{"value":"First Name"}],"City":[{"value":"Delhi"},{"value":"London"]}
のvarchar値をdbの列に格納しています。私はデリーを持つすべての人をJPQLで検索する必要があります。 dbにJSON文字列を格納すると良いですか?DBONに格納されたJSON文字列からデータを検索
私は{"Name":[{"value":"First Name"}],"City":[{"value":"Delhi"},{"value":"London"]}
のvarchar値をdbの列に格納しています。私はデリーを持つすべての人をJPQLで検索する必要があります。 dbにJSON文字列を格納すると良いですか?DBONに格納されたJSON文字列からデータを検索
ほとんどの場合、部分文字列のマッチングがうまくいく可能性がありますが、正確ではなく、処理が遅くなります。
は、あなたはそのような何かを試すことができます。
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を放棄し、ネイティブクエリを使用して気にしない場合は、これはあまりにもあなたのための代替手段です。
検索でそのインデックスまたは列を使用する場合は、列内に固定する方がよい(行の列として分離する)。 – Beginner
あなたのデータベースは何ですか? –
多くのデザイン変更が必要なので、私はそれを分けることができません。 DBはHSQL 2.3 – Shailendra