Grails GORM条件查询:查找具有特定属性的子项
具有以下域模式:Grails GORM条件查询:查找具有特定属性的子项,grails,gorm,criteria,Grails,Gorm,Criteria,具有以下域模式: class TransactionHeader { static hasMany = [details: TransactionDetail] } class TransactionDetail { static belongsTo = [header: TransactionHeader] Product product } 我正在尝试编写一个条件查询,该查询将返回包含两种不同产品的TransactionDetails的所有TransactionHeade
class TransactionHeader {
static hasMany = [details: TransactionDetail]
}
class TransactionDetail {
static belongsTo = [header: TransactionHeader]
Product product
}
我正在尝试编写一个条件查询,该查询将返回包含两种不同产品的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)
}
}
}
不过,不确定hibernate/gorm将如何处理这个问题 感觉你想把细节从中移开,所以实际上
def list = TransactionHeader.withCriteria {
and {
details {
eq("product", product1)
}
details {
eq("product", product2)
}
}
}
不过,不确定hibernate/gorm将如何处理这个问题 您是否尝试过在您的标准dsl中使用“in”语句
def list = TransactionHeader.withCriteria {
and {
details {
'in'("product", [product1, product2])
}
}
}
您是否尝试过在您的标准dsl中使用“in”语句
def list = TransactionHeader.withCriteria {
and {
details {
'in'("product", [product1, product2])
}
}
}
在流程中作为一个OR,这不是我想要的。我已经接受了正确的答案。明白了,很抱歉,我没有意识到和constraintin过程作为OR,这不是我想要的。我已经接受了正确的答案。明白了,很抱歉,我没有意识到和约束