Maison >Java >javaDidacticiel >Comment éviter les erreurs de sérialisation de Jackson avec les objets Hibernate Lazy-Loaded ?
Éviter la sérialisation de Jackson sur les objets paresseux non récupérés
Lorsque les objets Hibernate récupérés paresseusement sont sérialisés à l'aide de Jackson, une exception JsonMappingException peut être levée en raison au manque d'initialisation. Pour résoudre ce problème, plusieurs approches peuvent être mises en œuvre.
Une méthode consiste à enregistrer Hibernate4Module avec le MappingJackson2HttpMessageConverter par défaut fourni par Spring. Cela peut être réalisé en étendant la classe de configuration Spring (WebMvcConfigurerAdapter) et en remplaçant la méthode configureMessageConverters. Dans le cadre de cette méthode, un nouveau MappingJackson2HttpMessageConverter doit être créé et personnalisé avec Hibernate4Module. Ce convertisseur peut ensuite être ajouté aux HttpMessageConverters de l'application.
Pour la configuration XML, au lieu de créer un HttpMessageConverter personnalisé, un HibernateAwareObjectMapper doit être créé. Ce mappeur peut ensuite être défini comme propriété objectMapper de MappingJackson2HttpMessageConverter. Par la suite, MappingJackson2HttpMessageConverter doit être ajouté en tant que convertisseur de messages dans la configuration XML.
En implémentant l'une de ces approches, Jackson ne pourra pas tenter de sérialiser des objets paresseux non récupérés, résolvant ainsi l'exception JsonMappingException et garantissant une sérialisation appropriée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!