Skip to content

Commit d0758e7

Browse files
authored
fix: use stream().distinct() to remove duplicates from root entities (#128)
1 parent fc2ab23 commit d0758e7

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

graphql-jpa-query-schema/src/main/java/com/introproventures/graphql/jpa/query/schema/impl/GraphQLJpaQueryDataFetcher.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
*/
1616
package com.introproventures.graphql.jpa.query.schema.impl;
1717

18-
import java.util.Collection;
1918
import java.util.LinkedHashMap;
20-
import java.util.LinkedHashSet;
2119
import java.util.List;
2220
import java.util.Map;
2321
import java.util.Optional;
@@ -138,12 +136,17 @@ public Object get(DataFetchingEnvironment environment) {
138136
if(isDistinct) {
139137
query.setHint(HIBERNATE_QUERY_PASS_DISTINCT_THROUGH, false);
140138
}
141-
142-
// Let's remove any duplicate references for root entities
143-
Collection<?> resultList = isDistinct ?
144-
new LinkedHashSet<Object>(query.getResultList())
145-
: query.getResultList();
146139

140+
// Let's execute query
141+
List<?> resultList = query.getResultList();
142+
143+
// Let's remove any duplicate references for root entities
144+
if(isDistinct) {
145+
resultList = resultList.stream()
146+
.distinct()
147+
.collect(Collectors.toList());
148+
}
149+
147150
result.put(GraphQLJpaSchemaBuilder.QUERY_SELECT_PARAM_NAME, resultList);
148151
}
149152

0 commit comments

Comments
 (0)