QueryDsl MongoDB - Zugriff auf tief verschachtelte Objekte zur Abfrage


8

Ich habe Probleme beim Zugriff auf verschachtelte Objekte bei der Verwendung BooleanBuilder. Ich habe gelesen, dass der Standardwert 2 Ebenen ist, aber für meinen Anwendungsfall muss ich auf verschachtelte Objekte der 3. Ebene zugreifen. Also habe ich hinzugefügt, @QueryInitwie in vielen anderen Antworten ausgeführt. Aber ich kann immer noch nicht darauf zugreifen. Hier ist mein Code:

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

Ich habe QOrder, QItemKlassen generiert und arbeiten gut. Die Datei details.description gibt jedoch einen Fehler aus, da QDetailskeine Klasse generiert wurde. Wie mache ich es zu generieren QDetails?

Antworten:


0

Das erste Problem, das ich sehe, ist, dass Sie ein Semikolon in der return-Anweisung verpasst haben, was möglicherweise zu anderen Problemen führt. Die Art der Generierung QDetailsbesteht darin, zuerst auf die Abfrage zu verweisen und die Details aus dem zugewiesenen Ergebnis anzufordern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.