2017-10-25 5 views
2

ContactとOneToOneリレーションを持つClientエンティティがあります。私はクライアント名を取得したい場合は は、私が記述する必要があります。Spring querydsl述語:リレーションシップサポート

client.getContact().getLastName() 

私は私の春のブートアプリでフィルタクライアントリストにquerydslのlibが使用

/api/clients?contact.lastName=Doe 

私のコントローラの署名:

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

うまくいく:述語がうまく作成され、フィルタが機能する。

しかし、今、私は2つの関係レベル内のフィールドにフィルタを適用する必要があります。

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

は、だから私は書くことwan't:

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

をしかし、その@QuerydslPredicateにマッピングされていません。エラーはありませんが、@QuerydslPredicate述部は(フィルタがない場合のように)まだヌルです。

ありがとうございます!

答えて