위치: ChatRoomServiceImpl.java:73-97
창의적 해결책:
lastReadAt(마지막 읽은 시각) + countedAt(마지막 계산 시각) 조합// 메시지 업데이트 시각이 마지막 읽음/계산 시각보다 이전이면 캐시 사용
if ((lastReadAt != null && messageUpdatedAt.isBefore(lastReadAt))
|| (countedAt != null && messageUpdatedAt.isBefore(countedAt))) {
return unreadCount; // DB 쿼리 없이 캐시 반환
}
기술적 의의:
위치: InterviewRepository.java:30-37
해결 방법:
LEFT JOIN FETCH로 연관 엔티티를 한 번에 로딩