오류 메시지
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)
코드
// ArticleEntity
@Getter @Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class Article extends BaseEntity {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="article_id")
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="board_id", nullable = false)
private Board board;
}
// ArticleService
Article article = Article.builder()
.title(articleCreateReq.getTitle())
.content(articleCreateReq.getContent())
.board(boardRepository.getById(articleCreateReq.getBoardId()))
.build();
article = articleRepository.save(article);
return article;
// ArticleController
@PostMapping()
public AdvancedResponseBody<Article> createArticle(@RequestBody ArticleCreateReq articleCreateReq) {
Article article = articleService.createArticle(articleCreateReq);
System.out.println("article = " + article);
return AdvancedResponseBody.of(Status.OK, article);
// 이 과정에서 오류 발생
}
원인
해결방법
"hibernate_lazy_initializer": {}
이 생김내가 사용한 방법은
3 + 4