我正在尝试使用jpa加入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个公寓(每个单元中有一个作为unita,unitb传递) 如果我为../ findStuff做一个GET?unitNumbers = unita,unitb&amp; appNumber = 1
但我会在每个单元中获得所有公寓,而不是每个单元中的appNumber = 1。
非常感谢有关如何实现这一目标的任何想法
谢谢
答案 0 :(得分:0)
您需要查询Appartment
。
@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"