如何在GORM中轻松处理嵌套属性?
如果我有包含嵌套属性的属性映射:
def mymap = [
id : '1',
name : 'first name',
subs : [[
subid : 1,
name : 'first sub name'
],[
subid : 2,
name : 'second sub name'
]]
]
我有以下域名对象:
class Node {
int id
String name
static hasMany = [subs:Sub]
}
class Sub {
int id
String name
}
如果我使用地图
创建新节点new Node(myMap).save()
它抱怨像>>无法将类型'java.util.ArrayList'的属性值转换为属性'subs'所需的类型'java.util.Set'
当我尝试使用
时更新也是如此node.properties = myMap
node.save()
我无法自动执行此操作但必须手动遍历吗?
答案 0 :(得分:1)
您的地图内容看起来或多或少像某些JSON。
我的第一次尝试(如果它没有开箱即用)将尝试使用JSON转换器,如果仍然失败,我可能会为节点类型挂钩我的JSON编组器。
希望有所帮助
答案 1 :(得分:0)
def mymap = [
id : '1',
name : 'first name',
subs : [[
subid : 1,
name : 'first sub name'
],[
subid : 2,
name : 'second sub name'
]] as Set
]