QueryDsl MongoDB - Truy cập đối tượng lồng nhau sâu cho truy vấn


9

Tôi có vấn đề khi cố gắng truy cập đối tượng lồng nhau khi sử dụng BooleanBuilder. Tôi đã đọc rằng mặc định là 2 cấp độ, nhưng đối với trường hợp sử dụng của tôi, tôi cần truy cập các đối tượng lồng nhau cấp 3. Vì vậy, tôi đã thêm @QueryInitnhư đã chỉ ra trong nhiều câu trả lời khác. Nhưng tôi vẫn không thể truy cập nó. Đây là mã của tôi:

@Document
public class Order implements Serializable {

     @QueryInit(*.*)
     private Item item;

}

public class Item implements Serializable {
   private Details details;
}

public class Details implements Serializable {
   private String name;
}

public static BooleanExpression name(String name) {
  QOrder order = QOrder.order;
  return order.item.details.name.eq(name)
}

Tôi có QOrder, QItemcác lớp tạo và làm việc tốt. Nhưng chi tiết mô tả cho lỗi vì QDetailslớp không được tạo. Làm thế nào để tôi tạo ra nó QDetails?

Câu trả lời:


0

Vấn đề đầu tiên tôi thấy là bạn đã bỏ lỡ một dấu chấm phẩy trên câu lệnh return có thể gây ra cho bạn một số vấn đề khác. Cách để tạo QDetailstrước tiên là tham chiếu truy vấn và yêu cầu chi tiết từ kết quả được chỉ định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.