Grails - 复制从一个域对象到另一个域对象有多少关系?

时间:2012-03-08 18:38:32

标签: grails dns gorm

在归档过程中,我将详细信息从现有域对象复制到该域的新实例。两个域对象都具有hasMany关系:

static hasMany = [pets:Pet]

当我遇到以下情况时:

def ownerOne = (logic to find owner)
def ownerTwo = new Owner
****ownerTwo.pets = ownerOne.pets****

我该怎么做星号线?我已经厌倦了这个:

Set<Pet> ownerTwoPets = new TreeSet<Pet>()
   for(Pet p : ownerOne.pets) {
      ownerTwoPets.add(p)
   }
ownerTwo.pets = ownerTwoPets

没有运气。我可以在hasMany中使用String对象来解决这个问题。但我无法用hasMany

中的域对象来解决这个问题

1 个答案:

答案 0 :(得分:2)

Grails有一种内置方法可以添加到像这样的关系中。试试这个:

ownerOne.pets.each { Pet p ->
  ownerTwo.addToPets(p)
}