0

如何从多个 hasmany 中获取列表(带有顺序和分页)?

例如,我想要检索所有拥有名为“Jean”的员工的公司的列表。

我想使用的带有两个 hasman 的代码示例:

class Company{

    String param1   

    static hasMany =  [Services:Service]

}

class Service{

    static hasMany =  [Employees:Employee]  

}

class Employee{

    String name

}

我知道我必须像这样使用 createCreatia:

class getListService{

   def load(offset, max, name) {

    def idList =  ClassA.createCriteria().list (max: max, offset: offset) {
      projections { distinct ( "id" ) 
          property("date")
          property("id")
      }
      ClassBList{
                    eq("name",name)    
    }
      order("date","desc")
    }

    return idList

 } 

}

但是这个例子只适用于一个 hasmany

谢谢你的帮助

4

2 回答 2

1

为了,

我想要检索所有员工名为“Jean”的公司的列表

你有没有尝试过?

def companyList = Company.createCriteria().list (max: max, offset: offset){
    services{
        employees{
            eq('name', 'Jean')
        }
    }
}

你可以根据你projectionsCompany需要加入,我没有添加这个来回答。

注意- 关联的小写字母将不那么混乱和清晰。因此servicesemployees而不是ServicesEmployees分别在上述标准中。

于 2013-09-02T14:49:10.077 回答
0

我建议你在 createCriteria 上使用 list(params)

def offset // 在你的控制器上使用它 def pageTotal // def pageMax // 在你的jsp页面上设置它们

 def idList =  ClassA.createCriteria().list (params) {
      projections { distinct ( "id" ) 
          property("date")
          property("id")
      }

这样我的过滤器页面就像一个魅力:),任何事情都让我……了解详情..

于 2013-09-02T14:49:02.527 回答