sergpc
sergpc

Reputation: 305

Jackson serialization for non fetched lazy objects Hibernate 5 Spring 5

When Jackson try to serialize lazy object, i get an error:

Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: failed to lazily initialize a collection of role:

I try to use this approach this approach, but i wasn't successfull. My config for jackson-modules

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

  public MappingJackson2HttpMessageConverter jacksonMessageConverter(){
    MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new Hibernate5Module());
    messageConverter.setObjectMapper(mapper);
    return messageConverter;
  }

  @Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(jacksonMessageConverter());
    super.configureMessageConverters(converters);
  }
}

But i'm getting the same error. Could you explain me, what are I doing wrong?

My springboot version 1.5.15.RELEASE, my jackson-datatype-hibernate5 version: 2.6.0

Upvotes: 0

Views: 997

Answers (1)

Wilder Valera
Wilder Valera

Reputation: 1019

By default lazy loading feature is set to false.

To enable:

Hibernate5Module module = new Hibernate5Module();
module.enable(Hibernate5Module.Feature.FORCE_LAZY_LOADING);

Upvotes: 1

Related Questions