Grails GORM双嵌套关联查询

时间:2014-01-08 16:04:56

标签: grails gorm

我有以下域类(具有相关属性):

class Order {
    static belongsTo = [ restaurant : Restaurant ] 
}

class Restaurant {
    static belongsTo = [ country : Country ] 
}

class Country { 
}

表结构很好,数据生成正确。但是,当我尝试获取其餐馆属于特定国家 的所有订单的 列表时,我只能获得一个订单。

这是一个无法证明的测试:

def testOrdersByCountry(){

    given:
        def c = new Country().save()
        def r = new Restaurant(country:c).save()
        new Order(restaurant:r).save()
        new Order(restaurant:r).save()
        new Order(restaurant:r).save()

    when:
        def orders = Order.withCriteria {
            restaurant {
                country {
                    eq 'id', c.id
                }
            }
        }

    then:
        orders.size() == 3
}

1 个答案:

答案 0 :(得分:0)

你们需要

static hasMany = [orders : Order]
课程Restaurant

中的