0
我有兩個域Grails的格姆查詢限制
class ProductQuantity {
Integer quantity
static belongsTo = [productSize: ProductSize]
}
class ProductSize {
String size
static hasMany = [productQuantities : ProductQuantity]
}
我試圖建立一個查詢從哪裏獲得由productSize所有的產品數量。我有以下查詢的作品。
def productSize = ProductSize.findAllById(1);
def productQuantities = ProductQuantity.findAllByProductSize(productSize)
我期待在一個查詢中獲得ProductQuanties而不是兩個單獨的查詢。
您使用負載的任何特定原因? –
'load'在這裏比'get'更有意義。 'get'強制執行數據庫查詢,可能包括許多列,大字符串等。所有'ProductSize'實例用於獲取其'id'作爲最終SQL中的外鍵。 'get'效率低下,因爲你丟棄了從數據庫中檢索到的所有數據,只使用你已經知道的一個值 - 'id'。用'load()'你可以得到一個Hibernate代理。它具有'id'值,如果您訪問任何其他屬性,將使用它來檢索完整實例。但因爲你不會,所以沒有不必要的數據庫訪問。 –