Tôi có một lớp tên miền được gọi là Order
và lớp đó có mối quan hệ hasMany
với lớp Item
. Khi tôi đang truy vấn danh sách các đơn đặt hàng có các hạn chế nhất định, tôi nhận được nhiều trường hợp Order
vì có items
.Truy vấn tiêu chí Grails tuyển dụng các trường hợp trùng lặp
Vì vậy, ví dụ Order
trường hợp đã nói tham chiếu đến 3 trường hợp Item
thì, tiêu chí gọi trên Order
sẽ trả về 3 trường hợp trùng lặp là Order
. Tôi không chắc chắn nhưng nếu điều đáng nói đến là lớp miền Order
có fetchMode
được đặt thành "eager"
.
Tôi thực sự bối rối với những gì đang xảy ra ở đó. Bất kỳ trợ giúp trong lĩnh vực này sẽ được đánh giá rất nhiều. Đoạn mã được kèm theo:
def clazz = "cust.Order"
def criteria = clazz.createCriteria()
println("clazz == "+Order.list())// returning correct data i.e unique instance of order
def filter = {
// trimmed down all filtering criteria for debugging
}//close filter
List results = criteria.list(max:params?.max,offset:params?.offset,filter)
results.each{Object data->
println(data.getClass())
}
println("results == "+results)
Cảm ơn một lần nữa
Điều này đã hiệu quả nhưng có cách nào tốt hơn để giải quyết vấn đề này không? Giống như thay đổi chế độ tìm nạp trong khi truy vấn hoặc bất kỳ điều gì như vậy? – Amit