From 2192ddc8fab62a02f072b2065137f96a8345b606 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 18 Jul 2025 17:50:18 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=B5=9C=EA=B7=BC=20=EC=A2=85=EB=A3=8C?= =?UTF-8?q?=ED=95=9C=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20API=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomRepository.kt | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt index 35c12cf..9c998c8 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt @@ -387,6 +387,15 @@ class LiveRoomQueryRepositoryImpl( val liveRoom = liveRoom val subLiveRoom = QLiveRoom.liveRoom + val subQuery = JPAExpressions + .select(subLiveRoom.member.id, subLiveRoom.updatedAt.max()) + .from(subLiveRoom) + .where( + subLiveRoom.isActive.isFalse + .and(subLiveRoom.channelName.isNotNull) + ) + .groupBy(subLiveRoom.member.id) + return queryFactory .select( QGetLatestFinishedLiveQueryResponse( @@ -400,16 +409,8 @@ class LiveRoomQueryRepositoryImpl( .from(liveRoom) .innerJoin(liveRoom.member, member) .where( - liveRoom.updatedAt - .eq( - JPAExpressions.select(subLiveRoom.updatedAt.max()) - .from(subLiveRoom) - .where( - subLiveRoom.member.eq(liveRoom.member) - .and(subLiveRoom.isActive.isFalse) - .and(subLiveRoom.channelName.isNotNull) - ) - ) + Expressions.list(liveRoom.member.id, liveRoom.updatedAt) + .`in`(subQuery) ) .orderBy(liveRoom.updatedAt.desc()) .offset(offset)