gpt4 book ai didi

grails - 在Grails中为 map 值建模的最佳方法?

转载 作者:行者123 更新时间:2023-12-02 14:38:37 25 4
gpt4 key购买 nike

我必须在Grails应用中实现 map 值。
我有一个可以包含0..N OsmTags的类,并且键是唯一的。
在Java中,我将在每个对象中使用Map对此模型进行建模,但是我不知道如何在Grails中映射类。

所以我定义了这个类:

class OsmTag {
/** OSM tag name, e.g. natural */
String key
/** OSM tag value, e.g. park */
String value

static constraints = {
key blank:false, size:2..80,matches:/[\S]+/, unique:false
value blank:false, size:1..250,matches:/[\S]+/, unique:false
}
}

可以,但是实际上非常丑陋,因为标签键不是唯一的。
有没有更好的方法来对此问题建模?

干杯

最佳答案

如果我正确理解了您的问题,那么您想确保每个标签在标签实体的特定实例中都是唯一的吗?

假设标签所附加的实体名为Taggable,然后
您可以使用自定义约束来强制执行此要求:

class Taggable {
static hasMany = [ tags: OsmTag ]
}

class OsmTag {

static belongsTo = [ taggable: Taggable ]

/** OSM tag name, e.g. natural */
String key
/** OSM tag value, e.g. park */
String value

static constraints = {
key(blank:false, size:2..80,matches:/[\S]+/, unique:false,
validator: { val, obj ->
if (obj.taggable.tags.key.count(val > 1)) {
return false
}
}
)

value(blank:false, size:1..250,matches:/[\S]+/, unique:false)
}
}

关于grails - 在Grails中为 map 值建模的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2849940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com