From 53467745b621399ea904a2c2999b176459fdf11f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EC=84=B1=EC=A4=80=ED=98=81?= <hd15807@gmail.com>
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 }
+    }
 }