diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadata.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadata.java index 359df17cbb..0cf59bca75 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadata.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadata.java @@ -33,6 +33,7 @@ * @author Mark Paluch * @author Jens Schauder * @author Greg Turnquist + * @author Yanming Zhou */ public interface CrudMethodMetadata { @@ -66,6 +67,7 @@ public interface CrudMethodMetadata { * @return * @since 3.0 */ + @Nullable String getComment(); /** diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadataPostProcessor.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadataPostProcessor.java index 3128fed675..4932f7f1fb 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadataPostProcessor.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/CrudMethodMetadataPostProcessor.java @@ -56,6 +56,7 @@ * @author Christoph Strobl * @author Mark Paluch * @author Jens Schauder + * @author Yanming Zhou */ class CrudMethodMetadataPostProcessor implements RepositoryProxyPostProcessor, BeanClassLoaderAware { @@ -181,7 +182,7 @@ private static class DefaultCrudMethodMetadata implements CrudMethodMetadata { private final @Nullable LockModeType lockModeType; private final org.springframework.data.jpa.repository.support.QueryHints queryHints; private final org.springframework.data.jpa.repository.support.QueryHints queryHintsForCount; - private final String comment; + private final @Nullable String comment; private final Optional entityGraph; private final Method method; diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java index e537c9537d..f48d9c3bcd 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java @@ -370,14 +370,7 @@ public boolean existsById(ID id) { TypedQuery query = em.createQuery(existsQuery, Long.class); - Map hints = new HashMap<>(); - getQueryHints().withFetchGraphs(em).forEach(hints::put); - - if (metadata.getComment() != null && provider.getCommentHintKey() != null) { - hints.put(provider.getCommentHintKey(), provider.getCommentHintValue(metadata.getComment())); - } - - hints.forEach(query::setHint); + applyQueryHints(query); if (!entityInformation.hasCompositeId()) { query.setParameter(idAttributeNames.iterator().next(), id);