개발 기록
[JPA] LazyInitializationException: could not initialize proxy - no Session 본문
TIL
[JPA] LazyInitializationException: could not initialize proxy - no Session
수염차 2022. 1. 7. 00:24https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kbh3983&logNo=221170953020
전에 이게 떴을때는 왜떴는지도 모르고 그냥 트랜젝셔널 어노테이션 붙이고 끝났다.
말그대로 지연 로딩을 하려는데 이미 세션이 사라져서 지연 로딩을 못할 때 발생하는 에러다.
@Transactional
public void send(Long feedId) {
//해당 피드 작성자 id 찾기
Feed feed = feedRepository.findById(feedId).orElseThrow(
() -> new ApiRequestException("해당하는 피드가 없습니다.")
);
String userId = feed.getUser().getKakaoId();//여기서 해당 에러 발생
if (sseEmitters.containsKey(userId)) {
SseEmitter sseEmitter = sseEmitters.get(userId);
try {
//데이터 전송
sseEmitter.send(SseEmitter.event().name("addComment").data("댓글이 달렸습니다!!!!!"));
} catch (Exception e) {
sseEmitters.remove(userId);
}
}
}
같은 메소드인데 트랜젝션이 나눠져있나.. ? 피드 찾자마자 피드에 해당하는 유저 찾으려는데 왜 세션이 다른 건지 잘 모르겠다.
'TIL' 카테고리의 다른 글
220116 DTO 생성자 (완전 멍청 실수) (0) | 2022.01.16 |
---|---|
Server-Sent Events를 이용한 실시간 댓글 알림 (0) | 2022.01.07 |
220106-0107 모의면접 후기 (0) | 2022.01.06 |
211224 til (스케줄러) (0) | 2021.12.24 |
211222 til (웹소켓-실시간 알림 기능) (0) | 2021.12.23 |
Comments