我正在尝试创建出现在其他2个列表中的任何一个的公司列表。我可以创建一个出现在其他1个列表中的公司列表:-

       List masterList = Companies.createCriteria().list(){
            'in'("companyname", alistofcompanies)
            and {
                or{
                    eq("type","T1")
                    eq("type","T2")
                }
             order ("companyname")
            }
        }

但是我不知道该如何寻找另外两个列表中的任何一个。我试过了:-
    List masterList = Companies.createCriteria().list(){
            or{
               'in'("companyname", alistofcompanies)
               'in'("companyname", anotherlistofcompanies)
             }
            and {
                or{
                    eq("type","T1")
                    eq("type","T2")
                }
             order ("companyname")
            }
      }

但这给了我一个语法错误。

任何线索,我应该如何构造呢?

最佳答案

我看不到任何语法问题,除非您可以改进代码并且它可以工作。

 List masterList = Companies.createCriteria().list() {
            'in'("companyname", alistofcompanies + anotherlistofcompanies)
            'in'("type", ["T1", "T2"])
             order("companyname")
  }

10-06 13:32