BugNote
repository로 entity 가져왔을때 no Session 에러..
제뉴어리맨
2021. 3. 1. 00:39
> 에러 메세지
could not initialize proxy [org.zerock.member_board.entity.Board#100] - no Session
org.hibernate.LazyInitializationException: could not initialize proxy [org.zerock.member_board.entity.Board#100] - no Session
> 상황
Reply(댓글) 엔티티를 하나 find해서 가져온 뒤 sout 으로 그 결과값을 그대로 출력하려 할때
> 원인
Reply 엔티티가 참조하는 Board(게시글) 필드의 fetch 옵션은 Lazy로 설정해서 Board의 내용을 못 갖고 왔는데
sout으로 Board를 출력하려고 하니까 db connection session이 존재 하지 않아서 못 갖고 와서 출력 할 수 없기 때문에
> 해결 방법
Board를 출력할 필요가 없다면 Reply에 있는 @ToString 어노테이션에 (exclude = "board") 추가하고,
출력이 필요하다면, 해당 메서드(findTest)에 @Transactional 어노테이션 추가