2015-05-06 48 views
0

例如,我有如下领域:如何通过WHERE子句访问相关表的属性?

class Company { 
    String name 
} 

class Employee { 
    String firstName 
    String secondName 
    Company company 
} 

我试图让所有的员工,其中公司名称是 'M $经常'

Employee.where { 
    eq 'company.name', 'M$oft' 
}.list() 

了:

无法解析property:company.name:myapp.Employee


我也试试这个:

Employee.where { 
    createAlias('company', 'c') 
    eq 'c.name', 'M$oft' 
}.list() 

了:

无法解析属性:使用c:myapp.Employee


我知道:

Employee.where { 
    company.name == 'M$oft' 
} 

但它不适合我。

我只想知道:是否可以通过where子句使用字段的字符串名称?

回答

1

下次使用语法:

Employee.where { 
    company{ 
    eq 'name', 'M$oft' 
    } 
}.list() 

而且不要忘了使用'与有$字符串。也许一些意想不到的结