Merhabalar Arkadaşlar,
1 |
org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: failed to lazily initialize a collection of role: xxxxx |
İle ilgili bir hata ile karşılaşıyorsanız bilin ki Jackson Message Converter’in lazy loaded objeler ile bir sıkıntısı var. Bunu çözmek için biz yardımcı kütüphane bulunmakta. Öncelikle Hibernate’in hangi versiyonunu kullandığınızı öğrenin ve ona uygun Maven Dependency’i pom.xml dosyasına ekleyin.
1 2 3 4 5 |
<dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-hibernate5</artifactId> <version>2.5.3</version> </dependency> |
Component scan’ınızın tanımlı olduğu yerde bir java sınıfı oluşturun ve içerisine aşağıdakileri ekleyin.
1 2 3 4 5 6 7 8 |
public class HibernateAwareObjectMapper extends ObjectMapper { public HibernateAwareObjectMapper() { Hibernate5Module module = new Hibernate5Module(); module.enable(Hibernate5Module.Feature.SERIALIZE_IDENTIFIER_FOR_LAZY_NOT_LOADED_OBJECTS); registerModule(module); } } |
servlet xml dosyamıza aşağıdakileri ekleyelim.
1 2 3 4 5 |
<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="objectMapper"> <bean class="objectmapper.class.adresi" /> </property> </bean> |
Herşey bu kadar. Umarım yararlı olmuştur.