0

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()

次のようなエラーが表示されます >> Failed to convert property value of type 'java.util.ArrayList' to required type 'java.util.Set' for property 'subs'

試してみると、更新にも同じことが言えます

node.properties = myMap
node.save()

これを自動的に行う方法はありませんが、手動でトラバースする必要がありますか?

4

2 に答える 2

1

マップの内容は多かれ少なかれ JSON のように見えます。

私の最初の試み (すぐに失敗する場合) は、JSON コンバーターを使用することであり、それでも失敗する場合は、おそらくノード型の JSON マーシャラーをフックします。

于 2013-05-07T22:14:55.680 に答える