目前我有一个带有HashMap字符串的Grails域类(HashMap metadata = new HashMap()。
创建数据库持久性(顺便存储为BLOB),启动,关闭等等,一切正常。
我有一种令人讨厌的感觉,由于某种原因,这是不行的,如果是这样的话?如果没有,那就不要紧。
Versions等Grails 2.0,Groovy 1.8,Java 1.6,Tomcat 6 MySQL 5.latest
答案 0 :(得分:1)
我想说这可能不是最好的做法,因为你真的不知道这个字符串列表将来会如何增长。
一个简单的例子可能是,在将来,您想知道何时添加了特定字段,这意味着您必须更改整个域模型并将哈希图移出到子域中。
根据经验,将其建模为具有名称和值属性的子元素可能更容易。
这也使得更容易针对此hashmap编写查询,因此如果要查找具有键'blah'的元素,则可以使用动态查找程序和相关的查询机制。