QueryDsl MongoDB - Acceso a objetos profundamente anidados para consultas


9

Tengo problemas al intentar acceder a objetos anidados cuando lo uso BooleanBuilder. He leído que el valor predeterminado es 2 niveles, pero para mi caso de uso, necesito acceder a objetos anidados de tercer nivel. Así que he agregado @QueryInitcomo se señala en muchas otras respuestas. Pero todavía no puedo acceder a él. Aquí está mi código:

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

Tengo QOrder, QItemclases generadas y funcionando bien. Pero details.description da error porque QDetailsno se generó la clase. ¿Cómo lo hago generar QDetails?

Respuestas:


0

El primer problema que veo es que perdió un punto y coma en la declaración de devolución, lo que podría estar causándole otros problemas. La forma de generar QDetailses primero hacer referencia a la consulta y solicitar los detalles del resultado asignado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.