idA, someOtherIdA
,表B包含列idB, forenKeyIdA, someImportanFieldFromB
。
我也在使用spring数据,现在我需要创建方法
public B findBySomeOtherIdAAndsomeImportanFieldFromB(int someOtherIdA, int someImportanFieldFromB);
为此,我需要通过id
加入两个表Select * From A Join B On A.idA = B.idB Where someOtherIdA = 1 someImportanFieldFromB = 1
我正在使用注释@Query来检索结果。 但问题是我无法自动将结果映射到对象B. 我怎么能这样做?如果不使用nativeQuery = true,它是否可以这样做?
答案 0 :(得分:0)
我找到的最佳解决方案是使用JPQL或HQL来获取实体并映射它。在示例中,我写了它就像
@Query(SELECT b FROM A as a RIGHT JOIN a.forenKeyToAFromB b Where Somevalue=1)
public B findBySomeOtherIdAAndsomeImportanFieldFromB(int someOtherIdA, int someImportanFieldFromB);
此查询方法将实体映射到您现有的实体B并解决您的问题