ホームページ > Java > &#&チュートリアル > Jackson が Spring でフェッチされていない Lazy 属性をシリアル化しないようにするにはどうすればよいですか?

Jackson が Spring でフェッチされていない Lazy 属性をシリアル化しないようにするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-28 20:16:15
オリジナル
154 人が閲覧しました

How Can I Prevent Jackson from Serializing Unfetched Lazy Attributes in Spring?

Jackson による遅延オブジェクトのシリアル化問題への対処

Jackson がフェッチされていない遅延属性をシリアル化するのを阻止するというあなたの願望は、簡単に解決できます。 indybee からの貴重な意見のおかげで、現在の Spring、Hibernate、Jackson バージョンで動作するソリューションを発見しました。

Spring バージョン 3.1.2 以降では、拡張された MappingJackson2HttpMessageConverter が導入されており、 Spring 3.1 チュートリアルで説明されているカスタム コンバータ。このコンバータを利用するには、WebMvcConfigurerAdapter から Spring 構成クラスを拡張し、configureMessageConverters メソッドをオーバーライドします。

configureMessageConverters メソッド内で、Hibernate4Module が登録された MappingJackson2HttpMessageConverter を追加します。 Java 構成では、これは次のようになります。

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(jacksonMessageConverter());
    super.configureMessageConverters(converters);
}
ログイン後にコピー

XML 構成の場合、チュートリアルで提案されているようにカスタム HibernateAwareObjectMapper を作成します。

<mvc:message-converters>
    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="objectMapper">
            <bean class="com.pastelstudios.json.HibernateAwareObjectMapper" />
        </property>
    </bean>
</mvc:message-converters>
ログイン後にコピー

このソリューションは、Hibernate4Module を Spring のデフォルトとシームレスに統合します。メッセージコンバーター。フェッチされていない遅延オブジェクトが Jackson によってシリアル化されないようにします。

以上がJackson が Spring でフェッチされていない Lazy 属性をシリアル化しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート