2012-06-01 15 views
14

私はPerson JPAエンティティを持ち、Personには複数のアドレス(PersonからAddressへのOneToMany関係)があります。私はパーティクルの郵便番号を持っているすべての人々のためのクエリを行うことができるようにしたいが、コレクションを適切に処理する方法をquerydslのマニュアルで見た後はわからない。querydslを使用する1対多の関係から生じる一連のオブジェクトから特定のオブジェクトをチェックする方法はありますか?

私はアドレスにアクセスすることができますが、私は彼らと何をすべきかわからない:

QPerson qPerson = QPerson.person; 
personDao.findAll(qPerson.addresses._SPECIFICADDRESS_.zip.eq('73130')); 

は、どのように私は私が探しているSPECIFICADDRESSを得ることができますか?

答えて

21

この

QPerson qPerson = QPerson.person; 
personDao.findAll(qPerson.addresses.any().zip.eq('73130')); 
+0

があまりにもシンプルなルックス試しは...とすぐに私は戻って、端末のだとしてそれをしようとします。ありがとう! – codeLes

+7

シンプルに見えるはずです。それがQuerydslのポイントです! ;) –

+0

これは素晴らしいです。本当に私を得ているのは、コレクションを使ってコレクションを積み重ねる必要があるということです。これは本当に面白いと思います。助けてくれてありがとう。 – codeLes

関連する問題