Spring Framework/에러
[Spring JPA] No serializer found for class org.hibernate 에러
헝그리헝그리
2019. 7. 24. 22:12
반응형
RestController 에서 Josn 형식으로 값을 잘 받아오던게 갑자기 안된다.
No serializer found for class org.hibernate
이런 에러가 나온다.
@ManyToOne에서 fetch=FetchType.LAZY 전략을 써서
Hibernate에서 LAZY 로딩으로 인한 JSON Serialization에러가 발생한 것이라고 한다.
그런데 나는 fetch 설정을 한적이 없다..
심지어 @ManyToOne에서 fetch의 default 값은 EAGER 이다
default값
OneToMany: LAZY
ManyToOne: EAGER
ManyToMany: LAZY
OneToOne: EAGER
해결은
해당 Object를 JSON으로 변환하지 않는다면, @JsonIgnore 어노테이션을 nested 객체에 붙인다
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
이 방법으로 해결했다..
다른 방법으로는 application.properties 에 spring.jackson.serialization.fail-on-empty-beans=false
이 설정을 추가 하면 된다.
그런데 에러를 보이지 않게만 하는 방식이라 어떤 위험이 있을지는 모르겠다..
반응형