gpt4 book ai didi

grails - Grails “deep”条件+一对多关系

转载 作者:行者123 更新时间:2023-12-02 16:01:03 25 4
gpt4 key购买 nike

我有以下表格结构:

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)

最佳答案

使用criteria builder非常简单:

def results = Task.createCiteria().list() {
mandate {
mandateContacts {
eq('name', 'whatever value you want to match')
}
}
}

上面假设您的 Task域类具有 mandate域类类型的 Mandate属性。 Mandate具有一个称为 mandateContacts的集合,该集合是 Contact域类的集合,并且 Contact域类具有一个要与之匹配的名为 name的属性。

我建议您阅读链接到的文档,以了解createCriteria及其功能。

关于grails - Grails “deep”条件+一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30809717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com