我有以下表结构:
Task - (has one) - mandate
Mandate - (has many) - mandateContacts (of type Contact)
Contact
当然,Hibernate创建了一个名为mandate_contact
的表,它将这些联系人链接到授权。
我必须从Task
表开始写一个标准,听起来像是:
Fetch a task if one of the contacts associated to a mandate has a specific name.
到目前为止,我创建了像:
这样的别名createAlias('mandate', 'mnd', CriteriaSpecification.LEFT_JOIN)
答案 0 :(得分:0)
def results = Task.createCiteria().list() {
mandate {
mandateContacts {
eq('name', 'whatever value you want to match')
}
}
}
以上假设您的Task
域类具有mandate
域类类型的Mandate
属性。 Mandate
有一个名为mandateContacts
的集合,它是Contact
域类的集合,Contact
域类有一个名为name
的属性,你想要的与之匹敌。
我建议您阅读我链接的文档,以了解createCriteria及其运行方式。