diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java index eba4466bb7..3670c2f1f0 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java @@ -76,6 +76,7 @@ * @author Greg Turnquist * @author Diego Krupitza * @author Jędrzej Biedrzycki + * @author Anton Molganov */ public abstract class QueryUtils { @@ -806,6 +807,16 @@ private static T getAnnotationProperty(Attribute attribute, String pro return join; } } + + for (Fetch fetch : from.getFetches()) { + + Join join = (Join) fetch; + if (joinType == join.getJoinType() + && join.getAttribute().getName().equals(attribute)) { + return join; + } + } + return from.join(attribute, joinType); }