출처 : https://stackoverflow.com/questions/24994440/no-serializer-found-for-class-org-hibernate-proxy-pojo-javassist-javassist




User classrest로 호출해서 json으로 반환하는데, 다음과 같은 오류가 난다.

user class에는 권한, 부서 등의 관계가 맺어져 있다.

대충 내용을 보아하니 서로 호출해서 문제인거 같은데, 우선적으로는 다음과 같이 풀었다.

 

2018-05-18 17:16:48.037  WARN 34740 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS); nested exception is com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: kr.drsoft.model.security.Tcm_user["dept"]->kr.drsoft.model.Tcm_dept_$$_jvstef3_2["handler"])

 

[application.properties]

# lazy relation to json

spring.jackson.serialization.fail-on-empty-beans=false

 

[dept class]

@JsonIgnore


Dept class에서 user class와 관계를 맺어두었는데, 유저를 호출하니 부서를 부르고, 부서를 호출하니 유저를 불러서 문제인 듯…. 하여 deptuser에 다음과 같은 애노테이션 부여.


이제 다시 잘 된다. 스프링 처음 접하니 여러모로 볼 게 많다.


Posted by motolies
,