具有以下域模式:
class TransactionHeader {
static hasMany = [details: TransactionDetail]
}
class TransactionDetail {
static belongsTo = [header: TransactionHeader]
Product product
}
我正在尝试编写一个标准查询,该查询将返回所有包含带有2个不同产品的TransactionDetails的TransactionHeader行。这是我到目前为止所拥有的,并且并没有完全满足我的要求:
def list = TransactionHeader.withCriteria {
details {
and {
eq("product", product1)
eq("product", product2)
}
}
}
发生的事情是返回行中至少包含1个产品的1个明细。我需要具有2个细节的行,每个细节都包含一种产品。
最佳答案
感觉就像您想从中移出细节,所以实际上
def list = TransactionHeader.withCriteria {
and {
details {
eq("product", product1)
}
details {
eq("product", product2)
}
}
}
虽然不确定冬眠/冬眠会如何处理。
关于grails - GORM标准查询:查找具有特定属性的子级,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11674600/