2017-10-25 6 views
2

Ich habe eine Client-Entität mit einer OneToOne-Beziehung mit Kontakt. Wenn ich den Client-Namen bekommen wollen, muss ich schreiben:Spring Querydsl Prädikat: Beziehungsunterstützung

client.getContact().getLastName() 

I querydsl lib Filter Client-Liste in meiner Feder Boot app

/api/clients?contact.lastName=Doe 

Meine Controller Signatur verwenden:

public ResponseEntity<ResponseListDTO> getClients (
     @QuerydslPredicate(root = Client.class) Predicate predicateClient, 
     Pageable pageable) 

Es funktioniert gut: Prädikat ist gut erstellt und Filter funktioniert.

Aber jetzt brauche ich innerhalb von zwei Beziehungsebene auf einem Feld filtern:

client.getContact().getAddress().getCity() 

So wan't ich schreiben:

/api/clients?contact.address.city=XXX 

Aber nicht mit @QuerydslPredicate abgebildet. Kein Fehler, aber das @QuerydslPredicate-Prädikat ist immer noch null (wie wenn keine Filter vorhanden sind).

Danke!

Antwort

Verwandte Themen