0
我使用的弹簧数据的JPA /休眠/ MySQL的弹簧加载数据的孩子和查询的子属性
class A{
private long id;
private Collection<B> myBs;
}
class B{
private long id;
private int property;
}
我想装载A和myBs
集合装载所有B
S其中B.property > 5
所以我这样做:
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个乙对象填充,它试图建立3所述的与每一个B对象的对象。
现在我知道提取图表设法告诉JPA很聪明,但是在这里它不起作用。我怎样才能设置它来正确地做到这一点?有没有一种方法可以像
private A findWhereMyBsPropGreaterThan(Integer prop)
然后只是把一个@EntityGraph
注释呢?