繁体   English   中英

使用弹簧数据和联接表查找查询

[英]Finding query using spring data with joining tables

我有这种情况。 我有两个与一对多关系的表。 例如,表A具有idB, forenKeyIdA, someImportanFieldFromBidA, someOtherIdAidA, someOtherIdA表B具有idB, forenKeyIdA, someImportanFieldFromBidB, 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完全可以做到吗?

我发现的最佳解决方案是使用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并解决您的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM