2012-01-22 3 views
1

現在、私は、文字列のハッシュマップ(HashMapのメタデータは=新しいHashMapの()とGrailsのドメインクラスを持っている。ハッシュマップ

すべては作成時にデータベースの永続性と正常に動作しているが(BLOBとして保存します道による)、その後、気にしない。

、それが事実なぜ?もしない場合、私は、これはいくつかの理由で大丈夫ではないことを嫌な気持ちを持っている...など、シャットダウン、

をアップを開始

バージョンなどGrails 2.0、Groovy 1.8、Java 1.6、Tomcat 6 MySQL 5.latest

+0

嫌な感じは何ですか?理由は何ですか? – Kushan

+0

何らかの理由で厄介な気分になったとき、どうすればわかるのですか? –

+0

恐ろしい感じは、情報をブロブに格納するとクエリが不可能になり、そのデータベースが格納されたデータに対してクエリを実行できるようになっているという事実からきます。 –

答えて

1

これはおそらく、この文字列のリストが将来どのように成長するかを決して知らないので、これはおそらくベストプラクティスではないと言います。

簡単な例として、将来、特定のフィールドが追加されたことを知りたい場合があります。つまり、ドメインモデル全体を変更し、ハッシュマップを子ドメインに移動する必要があります。

これは、名前と値のプロパティを持つ子要素としてモデル化する方が簡単かもしれません。

これにより、このハッシュマップに対してクエリを書きやすくなります。したがって、キーが「blah」の要素を検索する場合は、動的検索と関連するクエリメカニズムを使用できます。

+0

合意。この場合、HashMapには、プロパティとして(通常は全く同じではありませんが)より重要度の低いものが含まれており、ドメインモデルは「通常」のように使用されません。この場合、これに問題はないように見えます。おかげさまで私の懸念を跳ね返させてくれてありがとう。私はこれを答えたと呼ぶ。 –