관리 메뉴

제뉴어리의 모든것

repository로 entity 가져왔을때 no Session 에러.. 본문

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 엔티티
에러 나는 함수 (두번째 줄에서 에러발생)

> 원인

Reply 엔티티가 참조하는 Board(게시글) 필드의 fetch 옵션은 Lazy로 설정해서 Board의 내용을 못 갖고 왔는데

sout으로 Board를 출력하려고 하니까 db connection session이 존재 하지 않아서 못 갖고 와서 출력 할 수 없기 때문에

 

> 해결 방법

Board를 출력할 필요가 없다면 Reply에 있는 @ToString 어노테이션에 (exclude = "board") 추가하고,

출력이 필요하다면, 해당 메서드(findTest)에 @Transactional 어노테이션 추가