grails中的域类迭代

grails中的域类迭代,grails,groovy,iteration,Grails,Groovy,Iteration,我在两个域类之间有以下关系: class Emp { String name hasMany = [itemsell:Item, itembuy:Item] } class Item { String name } 我需要知道,对于给定的Emp(itemsell和itembuy),两个集合的共同点是什么;我如何进行这样的迭代 谢谢在其中一个集合上使用findAll方法。大概是这样的: def similarItems(itemsell, itembuy) { itemse

我在两个域类之间有以下关系:

class Emp {
  String name
  hasMany = [itemsell:Item, itembuy:Item]
}

class Item {
   String name
}
我需要知道,对于给定的Emp(itemsell和itembuy),两个集合的共同点是什么;我如何进行这样的迭代


谢谢

在其中一个集合上使用findAll方法。大概是这样的:

def similarItems(itemsell, itembuy) {
   itemsell.findAll{ sell -> itembuy.contains(sell) }
}

对其中一个集合使用findAll方法。大概是这样的:

def similarItems(itemsell, itembuy) {
   itemsell.findAll{ sell -> itembuy.contains(sell) }
}

对Emp类进行以下更改

class Emp {
  String name
  hasMany = [itemsell:Item, itembuy:Item]

  // Modifications
  Collection<Item> getCommonItems() {
      itemsell.intersect(itembuy)
  }    

  static transients = [ 'commonItems' ]
}
class-Emp{
字符串名
hasMany=[itemsell:Item,itemsbuy:Item]
//修改
集合getCommonItems(){
itemsell.intersect(itemsbuy)
}    
静态瞬变=['commonItems']
}

然后,您可以调用
emp.commonItems
以获取公共项目。您应该将
commonItems
添加到
瞬态
列表中,以便GORM了解这不是一个持久属性

对Emp类进行这些更改

class Emp {
  String name
  hasMany = [itemsell:Item, itembuy:Item]

  // Modifications
  Collection<Item> getCommonItems() {
      itemsell.intersect(itembuy)
  }    

  static transients = [ 'commonItems' ]
}
class-Emp{
字符串名
hasMany=[itemsell:Item,itemsbuy:Item]
//修改
集合getCommonItems(){
itemsell.intersect(itemsbuy)
}    
静态瞬变=['commonItems']
}

然后,您可以调用
emp.commonItems
以获取公共项目。您应该将
commonItems
添加到
瞬态
列表中,以便GORM了解这不是一个持久性属性

不知道intersect。。爱死它了!我不知道什么是交集。。爱死它了!