我有一个产品域名:
Product {
String name
}
现在我需要issuedProductInstance
和requestedProductInstance
。为此,我使用findBy
作为
def find(String issuedProduct,String requestedProduct){
Product issuedProductInstance=Product.findByName(issuedProduct)
Product requestedProductInstance=Product.findByName(requestedProduct)
}
通过这种方式,该方法可以两次击中DB。有没有办法通过只执行一个查询来找到两个产品。
答案 0 :(得分:0)
不了解grails,但您只需要以下查询:
select p from Product p where p.name in (:names)
当然,这个查询可以返回0,1或2个产品,你必须遍历列表才能知道哪个是“issuedProduct”作为名称,哪个是另一个。