기존 작성한 쿼리


return queryFactory
        .select(chatroomIdPath)
        .from(chatroomUser)
        .where(chatroomUser.chatroomId.eq(
              JPAExpressions
                    .select(chatroomUser.chatroomId)
                    .from(chatroomUser)
                    .groupBy(chatroomUser.chatroomId)
                    .having(chatroomUser.userId.count().eq(2L))
        ).and(chatroomUser.userId.in(1L, 2L)))
        .fetch();

<aside> 💡 그에 따라서 반영한 QueryDSL

</aside>

QChatRoomUser chatRoomUser = QChatRoomUser.chatRoomUser;

ChatRoom chatRoom = queryFactory
    .selectDistinct(chatRoomUser.chatRoom)
    .from(chatRoomUser)
    .where(chatRoomUser.chatRoom.id.eq(
            JPAExpressions
                .select(chatRoomUser.chatRoom.id)
                .from(chatRoomUser)
                .groupBy(chatRoomUser.chatRoom.id)
                .having(chatRoomUser.user.id.count().eq(2L))
        )
        .and(chatRoomUser.user.id.in(userId, friendId))
    )
    .fetchOne();

동작이 안되는 상황

1 채팅방에 1,2,3의 유저가 들어가 있고,

2 채팅방에 1,2 유저,

3 채팅방에 1,3 유저가 들어가 있을 때

1,2 유저를 입력값으로 줬을 때 fetchOne 부분에서 하나의 결과가아닌 다수의 결과가 나온다는 에러를 뱉음 or null 값을 뱉음.