2017-08-18 7 views
0

に参加JPA1 2多くのJPA QRYと、私は次のように使用しています多くの企業に1</p> <p>エンティティ表単位(1) エンティティ表アパート(多くの)</p> <p>をQRYするために参加私はJPAを使用しようとしています

@Query("Select u from Unit u inner join u.appartmentList a " + 
     "where u.unitNumber IN :unitNumbers " + 
     "and a.appNumber= :appNumber") 
Page findApt(@Param("unitNumbers") Collection<String> unitNumbers, 
       @Param("appNumber") Integer appNumber, 
       Pageable pageable);enter code here 

私は2つのアパートを取得できる必要があります(1つはunita、unitbとして渡されます)。
私は../findStuff?unitNumbers=unita,unitb & appNumber = 1

のためのGETを行います。しかし、私は、各ユニットにappNumber = 1だけではなく、代わりに各ユニット内のすべてのアパートを取得する場合。

これを達成するための方法上の任意のアイデアを大幅に

あなたはAppartmentに照会する必要があるあなたに

+1

だから、複数のマンションを単位含まれているのですか?アパートを選択したいときは、ユニットを選択しているようです。または私は何かを欠いているかもしれない? –

答えて

0

ありがとういただければ幸いです。

@Query("select a from Appartment a where" + 
" a.appNumber= :appNumber and a.unit.unitNumber IN :unitNumbers" 

unitは怠け者フェッチされた場合は、最初のクエリでそれを取得することもできますので、問い合わせになるには:

@Query("select a from Appartment a join fetch a.unit where" + 
    " a.appNumber= :appNumber and a.unit.unitNumber IN :unitNumbers" 
+0

ありがとうございます。私はユニットの属性とそのユニットのアパートを元に戻す必要があります。 – jscriptor

+0

あなたは 'apartment' - >' apartment.getUnit() 'に' unit'を持っています。 'unit'が遅延フェッチされている場合は、' join fetch a.unit'をクエリに追加することができます。 – isah

+0

ありがとうございました。 jpa repoインターフェイスでは、パブリックインターフェイスApartmentRepositoryがPagingAndSortingRepository {}を拡張します。どのようにしてレポがUnitエンティティを認識するようにしますか? – jscriptor

関連する問題