在 Grails 中存储和编辑键/值对?
Posted
技术标签:
【中文标题】在 Grails 中存储和编辑键/值对?【英文标题】:Storing and editing key/value pairs in Grails? 【发布时间】:2010-11-10 07:01:46 【问题描述】:我在 Grails 中有一个域对象,它需要为每个实例存储一组键/值对。绝对不能超过 10 对。应用程序的用户必须能够编辑这些键/值对。现在,我正在考虑将域类的每个实例的数据存储在 HashMap 中。虽然我认为这会起作用,但这意味着我将不得不编写大量自定义代码来编辑、更新和显示这些对象,而不是使用 grails generate-all 生成的代码。有没有更好的方法来存储和编辑键/值对,还是我应该坚持使用 HashMap?
【问题讨论】:
【参考方案1】:如果您将每个键/值对建模为第一类对象会怎样?例如:
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 - 性能不会很好,但如果你只有几个,我认为这无关紧要。
【讨论】:
以上是关于在 Grails 中存储和编辑键/值对?的主要内容,如果未能解决你的问题,请参考以下文章