gpt4 book ai didi

hibernate - Grails 有很多 : find all master records with a child that matches a criteria

转载 作者:行者123 更新时间:2023-12-01 09:33:59 24 4
gpt4 key购买 nike

我有这个 Grails 2.0.3 项目,其中有两个模型 DomainADomainB并且两者都通过 many-to-many 相互关联关系DomainBDomainA 的 child .

class DomainA {
// properties
static hasMany = [domains: DomainB]
}

class DomainB {
// properties
static hasMany = [domains: DomainA]
static belongsTo = [DomainA]
}

鉴于这种设计,我想查询所有DomainB其中存在 DomainA 的实例按照设置为 DomainA 的查询.

def domainsList = DomainA.createCriteria().list() {
// other criterions for the other properties
}
DomainB.createCriteria().list() {
inList("domains", domainsList)
// other criterions for the other properties
}

执行上述代码时,提示错误ERROR util.JDBCExceptionReporter - Parameter #1 has not been set.其中Parameter #1是提示domains inList 中的属性名称标准。

遇到这个问题,请问可以解决吗?怎么样?

最佳答案

看看GORM guide ,查找“查询关联”。让我们尝试使用一个查询来完成所有操作。

有了新的“where”查询,它是

def query = DomainB.where {
domains { someAField == 3 } && someBField == 8
}

或使用 CriteriaBuilder:

DomainB.withCriteria {
domains {
eq 'someAField', 3
}
eq 'someBField', 8
}

关于hibernate - Grails 有很多 : find all master records with a child that matches a criteria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11770867/

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