line / kotlin-jdsl

Kotlin library that makes it easy to build and execute queries without generated metamodel
https://kotlin-jdsl.gitbook.io/docs/
Apache License 2.0
651 stars 85 forks source link

When using KotlinJdslJpqlExecutor, Querydsl custom implementation does not work #723

Closed nooose closed 2 weeks ago

nooose commented 2 weeks ago

안녕하세요. Querydsl에서 Jdsl로 전환 중 문제가 발생하게 되었습니다.

668 이슈와 관련있는 문제입니다.

저희 팀에서 몇몇 레포지토리는 아래와 같이 Querydsl Custom Repository를 만들어서 사용하고 있습니다.

Interface

interface ProjectRepository : JpaRepository<Project, Int>, ProjectRepositoryCustom

Impl class

@Repository
class ProjectRepositoryImpl(
    private val queryFactory: JPAQueryFactory,
) : ProjectRepositoryCustom {
    ...
}

fix: support custom repository 에서 모든 Jpa 레포지토리에 kotlinJdslJpqlExecutor를 주입하는 것을 확인했는데요

image image

그러다보니 jdsl을 사용하지 않는 레포지토리에도 querydsl custom impl 구현체가 kotlinJdslJpqlExecutor로 교체되면서

668 이슈와 같은 문제가 발생하게 됩니다.

따라서 KotlinJdslJpqlExecutor를 상속받지 않은 레포지토리는 생략하고 KotlinJdslJpqlExecutor를 상속받은 레포지토리에만 주입하도록 변경하면 좋을 것 같습니다.

shouwn commented 2 weeks ago

이런 문제점이 있었군요. 도움 주셔서 감사합니다!

위 내용은 버그에 해당하기 때문에 핫픽스로 배포하겠습니다.

shouwn commented 2 weeks ago

3.4.2 핫픽스로 배포했습니다. 혹시 추가로 문제가 발생하면 이슈를 다시 오픈해주세요.

nooose commented 2 weeks ago

3.4.2 핫픽스로 배포했습니다. 혹시 추가로 문제가 발생하면 이슈를 다시 오픈해주세요.

감사합니다!