0
私はB.property > 5
春データ・ロード・子供とクエリ
B
秒でロード
myBs
コレクションとAをロードする春・データ-JPA /休止/ mysqlの
class A{
private long id;
private Collection<B> myBs;
}
class B{
private long id;
private int property;
}
を使用しています
private interface ARepository extends JpaRepository<A, Long>{
@Query("SELECT a, b "
+ "FROM A a JOIN a.myBs b ON b.property > :prop"
+ "WHERE a.id= :id ")
public A getByIdPastB(@Param("id") long id, @Param("prop") Integer prop);
}
しかし、私はあまりにも多くのように、データストアから取得していることを例外を取得:
ので、私はこれをしませんでした。基本的には、テーブル
_______________________________
A.id | B.id | B.a_id| B.prop
2 | 1 | 2 | 8
2 | 2 | 2 | 11
2 | 3 | 2 | 7
を取得し、代わりに一つのオブジェクトを構築し、3つのBオブジェクトを移入するのではなく、1つのBのオブジェクトそれぞれに3 Aオブジェクトを構築しようとしています。
ここでフェッチグラフはJPAにそれを賢明に伝えることができますが、ここでは機能しませんでした。私はそれを適切に行うためにどのようにセットアップできますか?
private A findWhereMyBsPropGreaterThan(Integer prop)
のような名前を付ける方法がありますか?@EntityGraph
アノテーションを付けてください。