From 53467745b621399ea904a2c2999b176459fdf11f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=B1=EC=A4=80=ED=98=81?= Date: Mon, 10 Jun 2024 17:44:49 +0900 Subject: [PATCH] fix: Support other custom repository for javax --- .../KotlinJdslJpaRepositoryFactoryBeanPostProcessor.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 } + } }