Я получаю следующее исключение с проектом Spring Data Rest:Spring Data Rest: Объект сериализации с объектом LAZY причиной JsonMappingException
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: org.springframework.data.rest.webmvc.json.["content"]->test.spring.data.rest.xml.entities.Author_$$_jvstb93_1["handler"])
Конечно, у меня есть некоторые объекты, которые имеют конфигурацию выборки = FetchType.LAZY ,
Я следил за многими инструкциями и ссылками, но у меня все еще есть это исключение.
То, что я уже пытался сделать (с NO effetcs):
добавить
@EnableHypermediaSupport(type = HypermediaType.HAL)
в классе конфигурации, которая простирается RepositoryRestMvcConfiguration@Override configureJacksonObjectMapper
в том же классе, также используяJackson2DatatypeHelper.configureObjectMapper()
:@Override protected void configureJacksonObjectMapper(ObjectMapper objectMapper) { objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); Jackson2DatatypeHelper.configureObjectMapper(objectMapper); }
добавить "
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
" fil тер в web.xmlсоздать пользовательский класс, который
extends ObjectMapper
, с помощью этого конструктора:public HibernateAwareObjectMapper() { Hibernate5Module hm = new Hibernate5Module(); registerModule(hm); }
и этот конфиг:
<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="objectMapper"> <bean class="test.spring.data.rest.xml.config.HibernateAwareObjectMapper" /> </property> </bean> </mvc:message-converters>
Нет один из вышеупомянутые действия решили проблему!
Как решить эту проблему?
Спасибо.