Grails使用Criteria搜索hasMany属性

时间:2015-01-29 14:30:20

标签: grails groovy criteria

class Order {
    static hasMany = [deliveries:Delivery]
}

class Delivery {
    Order order
    DeliveryDate date
}

我想在date1和date2中搜索所有具有DeliveryDate的订单。 我是Grails中使用标准的初学者。我该怎么办?

谢谢!

EDITED: 我目前的代码:

  return Order.createCriteria().list(params, {
        if(params.fromDate) {
            deliveries {
                gt("deliveryDate", params.fromDate)
            }

        }
        if(params.toDate) {
            deliveries {
                lt("deliveryDate", params.toDate)
            }

        }
   }

1 个答案:

答案 0 :(得分:0)

您还可以在Grails中使用HQL,如下所示:

    def query =
    """
    select x.order from Delivery x
    where x.date >= :date1 and where x.date1 >= :date2  
    """
    def result = Delivery.executeQuery(query, [date1: date1, date2: date2])

这应该给你的结果。