【问题标题】:How to limit the size of association in grails?如何限制grails中关联的大小?
【发布时间】:2014-06-07 18:12:28
【问题描述】:

我有一个 grails 域类,如下所示:

 class Order {
   String orderId = 'OD' + System.nanoTime().toString()
   Date orderedDate
   String itemName
   List bids;
   static hasMany = [ bids: Bid ;likedUsers: User,]
   static belongsTo =[owner:User]
  }

 class Bid {
  Integer amount
  User bidedUser
     static belongsTo = [Order]
  }
   class User {
     String username
     String password
     String emailId
     List orders
     static hasMany = [orders:Order]
     }

我想要做的是,查询 maxResult 为 10 的位的订单,就像

 def critObj = Order.createCriteria() 
     critObj.list{
       eq("id" ,1)
       bids {
         maxResult(10) //Trying to fetch only 10 records
        }
    }

我怎样才能只加载 10 bits(associations) ,可以吗? .还是我的领域类设计错了?

【问题讨论】:

    标签: grails grails-orm grails-2.0


    【解决方案1】:

    我认为这应该可行:

    def results = Bid.withCriteria {
        order {
            eq 'id', 1
        }
        projections {
            property 'order'
        }
        maxResults 10
    }
    

    但请注意,您必须更改您的Bid 域类才能以另一种方式将关系从Bid 添加到Order

    class Bid {
        ...
        static belongsTo = [order: Order]
    }
    

    【讨论】:

    • 好主意,但我正在尝试使用他们的出价获取订单列表,我无法一次性显示所有出价显示我想限制它。有可能吗?
    • 我已添加预测以获取订单
    猜你喜欢
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多