0

私は製品ドメインを持っています:

Product {
   String name 
}

今、私はissuedProductInstanceとが必要requestedProductInstanceです。そのために私findBy

def find(String issuedProduct,String requestedProduct){
    Product issuedProductInstance=Product.findByName(issuedProduct)
    Product requestedProductInstance=Product.findByName(requestedProduct)
}

このようにして、メソッドは DB に 2 回ヒットします。1 つのクエリのみを実行して両方の製品を見つける方法はありますか?

4

1 に答える 1

0

Grails については知りませんが、次のクエリが必要です。

select p from Product p where p.name in (:names)

もちろん、このクエリは 0 個、1 個、または 2 個の製品を返す可能性があり、リストを繰り返し処理して、名前が「issuedProduct」である製品と、それ以外の製品を判別する必要があります。

于 2012-07-11T13:47:58.143 に答える