Closed veluxer62 closed 2 months ago
안녕하세요. 이 이슈는 3.4.0에 해소가될 예정이며, 3.4.0은 다음주 화요일에 배포될 예정입니다.
이 이슈의 원인은 Kotlin JDSL이 Pagination 쿼리를 만들어낼 때, Spring의 Legacy Query Parser를 사용하고 있었고 Legacy Query Parser는 Pagination과 Fetch Join을 함께 사용하도록 만들어져 있지 않았습니다.
Spring Boot 3.X에서 이 이슈는 해소되었고, Kotlin JDSL도 최신 버전의 Query Parser를 사용하도록 수정하면서 이 이슈가 해결되었습니다. https://github.com/line/kotlin-jdsl/pull/631
3.4.0을 빨리 배포했어야 했는데, 업무로 인해 많이 늦어졌네요. ㅠㅠ 이번주 중으로 3.4.0 DIFF를 체크하고 다음주 화요일에 배포하겠습니다.
만약 이번주중으로 개발을 진행하고 싶으시다면 SNAPSHOT 버전을 사용하실 수 있습니다.
네 확인 감사합니다. 급한 건은 아니라 3.4.0 배포후 적용해보도록 하겠습니다.
감사합니다 :)
안녕하세요. 3.4.0 버전에서 정상동작함을 확인하였습니다. 대응해주셔서 감사합니다 :)
안녕하세요.
Fetch Join과 관련해서 아래와같이 이슈가 있어 문의 드립니다.
문제상황
아래와 같이
Board
Entity와Actor
Entity의 관계가 1:N 일때,Board
Entity를 조회하는 쿼리에서Actor
Entity를 Fetch Join하여 조회하면 아래와 같이 오류가 발생합니다.Fetch Join과 Pagination을 함께 사용하는 경우 위와같은 오류가 발생할 수 있다는 것은 인지하고 있습니다. 다만 OneToMany 관계에서 주로 발생하는 이슈이고 OneToOne 또는 ManyToOne에서는 중복 row가 발생하지 않으므로 사용해도 문제가 되지 않으리라 판단했습니다. 실제로 아래와 같이 QueryDSL을 이용하여 Fetch Join을 이용하여 Pagination을 사용하는 경우에는 오류발생 없이 정상적으로 쿼리가 실행되는 것을 볼 수 있습니다.
문의사항
버전 참고
1.9.23
3.3.2
5.0.0
3.2.4
감사합니다.