我有两个域,是一对多关系中的一部分。我想知道如何查询孩子的父母FK吗?贝娄是父母/孩子的伪代码
上级:
class AlumProfile { String firstName String lastName static hasMany = [alumLanguage : AlumLanguage] static mapping = { cache true id generator: 'assigned' columns { firstName type:'text' lastName type:'text' } // } static constraints = { firstName (nullable:true) lastName (nullable:true) } }
儿童:
class AlumLanguage { String name String level static belongsTo = [alumProfile:AlumProfile] static mapping = { cache true columns { name type:'text' level type:'text' } } static constraints = { name(nullable:true) level(nullable:true) } }
尽管我没有明确创建FK,但是grails会自行创建MySQL数据库。但是,当我想像这样通过FK查询孩子时:
if(AlumLanguage.findByNameAndAlumProfileId(language.'language'.toString(), 'jIi-hRi4cI')==null){ //do something }
我收到一个错误:找不到类[class mgr.AlumLanguage]的名称[alumProfileId]的属性
关于如何做到这一点的任何建议?
谢谢杰森
尝试使用一个标准:
def c = AlumLanguage.createCriteria() def languages = c.get { eq('name', 'whatever-language') alumProfile { eq('id', 'jIi-hRi4cI') } }