diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/DeclaredQuery.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/DeclaredQuery.java index e05e852781..8462e87435 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/DeclaredQuery.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/DeclaredQuery.java @@ -1,5 +1,5 @@ /* - * Copyright 2024 the original author or authors. + * Copyright 2018-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,10 @@ /** * Interface defining the contract to represent a declared query. * + * @author Jens Schauder + * @author Diego Krupitza * @author Mark Paluch + * @since 2.0.3 */ public interface DeclaredQuery { diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java index c7d8b2495d..3c419a5b16 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java @@ -56,7 +56,7 @@ public class JpaRepositoryFactoryBean, S, ID> private EntityPathResolver entityPathResolver; private EscapeCharacter escapeCharacter = EscapeCharacter.DEFAULT; private JpaQueryMethodFactory queryMethodFactory; - private @Nullable Function queryEnhancerSelector; + private @Nullable Function queryEnhancerSelectorSource; /** * Creates a new {@link JpaRepositoryFactoryBean} for the given repository interface. @@ -118,23 +118,24 @@ public void setQueryMethodFactory(@Nullable JpaQueryMethodFactory factory) { * Configures the {@link QueryEnhancerSelector} to be used. Defaults to * {@link QueryEnhancerSelector#DEFAULT_SELECTOR}. * - * @param queryEnhancerSelector must not be {@literal null}. + * @param queryEnhancerSelectorSource must not be {@literal null}. */ - public void setQueryEnhancerSelector(QueryEnhancerSelector queryEnhancerSelector) { - this.queryEnhancerSelector = bf -> queryEnhancerSelector; + public void setQueryEnhancerSelectorSource(QueryEnhancerSelector queryEnhancerSelectorSource) { + this.queryEnhancerSelectorSource = bf -> queryEnhancerSelectorSource; } /** * Configures the {@link QueryEnhancerSelector} to be used. * - * @param queryEnhancerSelector must not be {@literal null}. + * @param queryEnhancerSelectorType must not be {@literal null}. */ - public void setQueryEnhancerSelector(Class queryEnhancerSelector) { - this.queryEnhancerSelector = bf -> { + public void setQueryEnhancerSelector(Class queryEnhancerSelectorType) { + + this.queryEnhancerSelectorSource = bf -> { if (bf != null) { - ObjectProvider beanProvider = bf.getBeanProvider(queryEnhancerSelector); + ObjectProvider beanProvider = bf.getBeanProvider(queryEnhancerSelectorType); QueryEnhancerSelector selector = beanProvider.getIfAvailable(); if (selector != null) { @@ -142,11 +143,11 @@ public void setQueryEnhancerSelector(Class quer } if (bf instanceof AutowireCapableBeanFactory acbf) { - return acbf.createBean(queryEnhancerSelector); + return acbf.createBean(queryEnhancerSelectorType); } } - return BeanUtils.instantiateClass(queryEnhancerSelector); + return BeanUtils.instantiateClass(queryEnhancerSelectorType); }; } @@ -171,8 +172,8 @@ protected RepositoryFactorySupport createRepositoryFactory(EntityManager entityM factory.setQueryMethodFactory(queryMethodFactory); } - if (queryEnhancerSelector != null) { - factory.setQueryEnhancerSelector(queryEnhancerSelector.apply(beanFactory)); + if (queryEnhancerSelectorSource != null) { + factory.setQueryEnhancerSelector(queryEnhancerSelectorSource.apply(beanFactory)); } return factory;