인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

clint1115님의 프로필 이미지
clint1115

작성한 질문수

실전! 스프링 데이터 JPA

getOne 관련 에러 질문있습니다.

작성

·

165

0

안녕하세요 수업 너무 재밌게  듣고 있습니다! 혼자 연습중에 난 에러인데 도무지 모르겠어서 질문드립니다.

T getOne(ID id);

for (){      list.add( ~~~service.getOne)  }   for문 통해 배열에 엔티티를 넣고  담긴 리스트들을  

map 형태로 프론트에 보내면 아래같은 에러가 발생합니다 

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: java.util.HashMap["list"]->java.util.ArrayList[0]->zen.zen.entity.Dog$HibernateProxy$4tYFCZYD["hibernateLazyInitializer"])

  반면 OPTIONAL 엔티티 반환하는 findById 를 통해 얻어 리스트로 바꾸고  map으로 보내면 제대로 작동합니다.

getOne은 어떤이유에서 에러가 나는지 궁금합니다. 

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. clint1115님^^

getOne()은 원본 객체 대신에, 프록시 객체를 반환합니다. 따라서 활용2편에서 설명드린 내용처럼 오류가 발생할 수 있습니다.

자세한 해결방법은 활용2편을 복습해주세요^^

감사합니다.

clint1115님의 프로필 이미지
clint1115

작성한 질문수

질문하기