diff --git a/support/spring-data-jpa-javax/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/javax/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt b/support/spring-data-jpa-javax/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/javax/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt index 98041697f..9d5d72a70 100644 --- a/support/spring-data-jpa-javax/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/javax/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt +++ b/support/spring-data-jpa-javax/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/javax/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt @@ -16,10 +16,15 @@ open class KotlinJdslJpaRepositoryFactoryBeanPostProcessor : BeanPostProcessor { lateinit var kotlinJdslJpqlExecutor: KotlinJdslJpqlExecutor override fun postProcessBeforeInitialization(bean: Any, beanName: String): Any? { - if (bean is JpaRepositoryFactoryBean<*, *, *>) { + if (bean is JpaRepositoryFactoryBean<*, *, *> && bean.hasJdsl()) { bean.setCustomImplementation(kotlinJdslJpqlExecutor) } return super.postProcessAfterInitialization(bean, beanName) } + + private fun JpaRepositoryFactoryBean<*, *, *>.hasJdsl(): Boolean { + return this.objectType.interfaces + .any { it == KotlinJdslJpqlExecutor::class.java } + } } diff --git a/support/spring-data-jpa/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt b/support/spring-data-jpa/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt index d6ea66cc9..bfd424194 100644 --- a/support/spring-data-jpa/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt +++ b/support/spring-data-jpa/src/main/kotlin/com/linecorp/kotlinjdsl/support/spring/data/jpa/autoconfigure/KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt @@ -16,10 +16,15 @@ open class KotlinJdslJpaRepositoryFactoryBeanPostProcessor : BeanPostProcessor { lateinit var kotlinJdslJpqlExecutor: KotlinJdslJpqlExecutor override fun postProcessBeforeInitialization(bean: Any, beanName: String): Any? { - if (bean is JpaRepositoryFactoryBean<*, *, *>) { + if (bean is JpaRepositoryFactoryBean<*, *, *> && bean.hasJdsl()) { bean.setCustomImplementation(kotlinJdslJpqlExecutor) } return super.postProcessAfterInitialization(bean, beanName) } + + private fun JpaRepositoryFactoryBean<*, *, *>.hasJdsl(): Boolean { + return this.objectType.interfaces + .any { it == KotlinJdslJpqlExecutor::class.java } + } }