작성
·
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편을 복습해주세요^^
감사합니다.