首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails -将hasMany关系从一个域对象复制到另一个域对象?

Grails -将hasMany关系从一个域对象复制到另一个域对象?
EN

Stack Overflow用户
提问于 2012-03-09 02:38:32
回答 1查看 731关注 0票数 0

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

代码语言:javascript
复制
static hasMany = [pets:Pet]

当我遇到以下场景时:

代码语言:javascript
复制
def ownerOne = (logic to find owner)
def ownerTwo = new Owner
****ownerTwo.pets = ownerOne.pets****

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

代码语言:javascript
复制
Set<Pet> ownerTwoPets = new TreeSet<Pet>()
   for(Pet p : ownerOne.pets) {
      ownerTwoPets.add(p)
   }
ownerTwo.pets = ownerTwoPets

不走运。我可以在hasMany中使用String对象来做这件事,没有问题。但是我不能用域对象在hasMany中解决这个问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-09 02:54:43

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

代码语言:javascript
复制
ownerOne.pets.each { Pet p ->
  ownerTwo.addToPets(p)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9622957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档