0
我有一個產品領域:使用findBy具有相同的屬性,但多個值
Product {
String name
}
現在我需要issuedProductInstance
和requestedProductInstance
。爲此,我使用了findBy
作爲
def find(String issuedProduct,String requestedProduct){
Product issuedProductInstance=Product.findByName(issuedProduct)
Product requestedProductInstance=Product.findByName(requestedProduct)
}
以這種方式,該方法命中DB兩次。有沒有什麼辦法可以通過只執行一個查詢來找到兩種產品。
是的,這將起作用。我們可以把它寫成Product.findAllByNameInList([issuedProduct,requestedProduct])。但是,我想要在發出ProductInstance或requestedProductInstance爲null時顯示差異錯誤消息,並且此查詢不會返回空對象。 – 2012-07-11 14:50:49
如果它返回一個空列表,那麼它們都不存在。如果它返回一個大小爲1的列表,則其中一個不存在。如果它返回一個大小爲2的列表,則兩者都存在(當然,假設該名稱是唯一的)。 – 2012-07-11 14:55:50
謝謝JB Nizet ... – 2012-07-16 13:47:43