채팅 메시지를 불러와야 하는데 Room 엔티티가 세션을 벗어나서 로딩되려고 할 때,
세션이 닫혀 있어서 연관된 데이터를 불러오지 못하는 상황이 발생.
이 문제는 영속성 컨텍스트와 관련이 있으며, 트랜잭션 밖에서 연관된 객체를 접근할 때 발생한다.
필요한 필드만 조회하는 DTO를 활용. Room 엔티티를 직접 반환하는 대신,
메시지 목록을 미리 로딩한 후 필요한 데이터만 포함하는 DTO로 변환하여 반환.
이로 인해 트랜잭션 종료 후에도 데이터를 안전하게 사용할 수 있어 영속성 컨텍스트 문제를 방지할 수 있다.
List<ChatMessage> 엔티티 리스트를 반환하는 기존 방식에서
List<RequestMessage> DTO 리스트로 반환하는 방식으로 변환, 에러를 해결했다