我在 Grails 中有一个域对象,它需要为每个实例存储一组键/值对。绝对不能超过 10 对。应用程序的用户必须能够编辑这些键/值对。现在,我正在考虑将域类的每个实例的数据存储在 HashMap 中。虽然我认为这会起作用,但这意味着我必须编写大量自定义代码来编辑、更新和显示这些对象,而不是使用 grails generate-all 生成的代码。有没有更好的方法来存储和编辑键/值对,还是我应该坚持使用 HashMap?
问问题
2177 次
1 回答
3
如果您将每个键/值对建模为第一类对象会怎样?例如:
class MyKeyValue {
static mapping={
id generator:'assigned'
}
String id
String value //i guess this could be an object of some sort, as long as it is a valid property (like Date)
def getKey = {
return id;
}
}
class User {
//...other properties
//you'd put this property where the hashmap was originally.
List MyKeyValue
}
generate-all 命令将为此创建一个相当简单的 UI,但它是可用的,并且是自定义的起点。然后,您可以编写自己的约束,并利用 GORM 的内置验证等。
然而,它有点 hacky imo - 性能不会很好,但如果你只有几个,我认为这无关紧要。
于 2009-07-14T10:15:47.510 回答