QueryDsl MongoDB-クエリの深くネストされたオブジェクトへのアクセス


9

を使用するときにネストされたオブジェクトにアクセスしようとすると問題が発生しますBooleanBuilder。デフォルトは2レベルであることを読みましたが、私のユースケースでは、3番目のレベルのネストされたオブジェクトにアクセスする必要があります。@QueryInit他の多くの回答で指摘されているように、私は追加しました。しかし、私はまだそれにアクセスできません。これが私のコードです:

@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)
}

私はQOrderQItemクラスを生成し、正常に動作しています。しかし、QDetailsクラスが生成されなかったため、details.descriptionはエラーになります。どうすれば生成できQDetailsますか?

回答:


0

私が目にする最初の問題は、returnステートメントでセミコロンを逃したことです。これにより、他の問題が発生する可能性があります。生成する方法QDetailsは、最初にクエリを参照し、割り当てられた結果から詳細を要求することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.