diff --git a/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java b/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java index f5b655967..609833103 100644 --- a/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java +++ b/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java @@ -80,6 +80,7 @@ import org.springframework.util.StringUtils; * @author Grégoire Druant * @author Mohammad Hewedy * @author Andriy Redko + * @author Peter Großmann */ public abstract class QueryUtils { @@ -103,7 +104,7 @@ public abstract class QueryUtils { private static final Pattern ALIAS_MATCH; private static final Pattern COUNT_MATCH; - private static final Pattern PROJECTION_CLAUSE = Pattern.compile("select\\s+(.+)\\s+from", Pattern.CASE_INSENSITIVE); + private static final Pattern PROJECTION_CLAUSE = Pattern.compile("select\\s+(?:distinct\\s+)?(.+?)\\s+from", Pattern.CASE_INSENSITIVE); private static final Pattern NO_DIGITS = Pattern.compile("\\D+");