2012-03-08 4 views
0

보관 프로세스 중에 기존 도메인 개체의 세부 정보를 해당 도메인의 새 인스턴스로 복사합니다. 두 도메인 객체는, hasMany의 관계가 :Grails - 하나의 도메인 객체에서 다른 도메인 객체로 많은 관계를 복사합니까?

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의 도메인 객체로는 알 수 없습니다.

답변

2

Grails에는 이와 비슷한 관계를 추가하는 메소드가 내장되어 있습니다. 이것을 시도하십시오 :

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

감사합니다. - 이것을 처리하는 데 훨씬 좋은 방법입니다. – user82302124

관련 문제