Grails Gorm 查询限制
Grails Gorm Query Restriction
我有两个域
class ProductQuantity {
Integer quantity
static belongsTo = [productSize: ProductSize]
}
class ProductSize {
String size
static hasMany = [productQuantities : ProductQuantity]
}
我正在尝试构建一个查询,在该查询中我通过 productSize 获取所有 ProductQuantity。我有以下有效的查询。
def productSize = ProductSize.findAllById(1);
def productQuantities = ProductQuantity.findAllByProductSize(productSize)
我希望通过单个查询而不是两个单独的查询来获取 ProductQuanties。
是的,您可以通过 createCriteria 获取此信息,例如 --
def productQuantities = ProductQuantity.createCriteria().list() {
productSize {
eq('id', 1)
}
}
ProductQuantity.createCriteria().list {
eq 'productSize', ProductSize.load(1)
}
或
ProductQuantity.withCriteria {
eq 'productSize', ProductSize.load(1)
}
或
ProductQuantity.where {
productSize == ProductSize.load(1)
}.list()
或
ProductQuantity.findAll("from ProductQuantity where productSize = ?", [ProductSize.load(1)])
我有两个域
class ProductQuantity {
Integer quantity
static belongsTo = [productSize: ProductSize]
}
class ProductSize {
String size
static hasMany = [productQuantities : ProductQuantity]
}
我正在尝试构建一个查询,在该查询中我通过 productSize 获取所有 ProductQuantity。我有以下有效的查询。
def productSize = ProductSize.findAllById(1);
def productQuantities = ProductQuantity.findAllByProductSize(productSize)
我希望通过单个查询而不是两个单独的查询来获取 ProductQuanties。
是的,您可以通过 createCriteria 获取此信息,例如 --
def productQuantities = ProductQuantity.createCriteria().list() {
productSize {
eq('id', 1)
}
}
ProductQuantity.createCriteria().list {
eq 'productSize', ProductSize.load(1)
}
或
ProductQuantity.withCriteria {
eq 'productSize', ProductSize.load(1)
}
或
ProductQuantity.where {
productSize == ProductSize.load(1)
}.list()
或
ProductQuantity.findAll("from ProductQuantity where productSize = ?", [ProductSize.load(1)])