Rumah >Java >javaTutorial >Bagaimana untuk Mencegah Ralat Pensirilan Jackson dengan Objek Lazy-Loaded Hibernate?

Bagaimana untuk Mencegah Ralat Pensirilan Jackson dengan Objek Lazy-Loaded Hibernate?

DDD
DDDasal
2024-11-28 02:30:10564semak imbas

How to Prevent Jackson Serialization Errors with Hibernate Lazy-Loaded Objects?

Elakkan Pensirilan Jackson pada Objek Malas Tidak Diambil

Apabila objek Hibernate yang diambil malas disiri menggunakan Jackson, JsonMappingException boleh dilemparkan kerana kepada kekurangan permulaan. Untuk menyelesaikan isu ini, beberapa pendekatan boleh dilaksanakan.

Salah satu kaedah ialah mendaftarkan Hibernate4Module dengan MappingJackson2HttpMessageConverter lalai yang disediakan oleh Spring. Ini boleh dicapai dengan melanjutkan kelas konfigurasi Spring (WebMvcConfigurerAdapter) dan mengatasi kaedah configureMessageConverters. Dalam kaedah ini, MappingJackson2HttpMessageConverter baharu harus dibuat dan disesuaikan dengan Hibernate4Module. Penukar ini kemudiannya boleh ditambahkan pada HttpMessageConverter aplikasi.

Untuk konfigurasi XML, bukannya mencipta HttpMessageConverter tersuai, HibernateAwareObjectMapper mesti dibuat. Pemeta ini kemudiannya boleh ditetapkan sebagai sifat objectMapper bagi MappingJackson2HttpMessageConverter. Selepas itu, MappingJackson2HttpMessageConverter harus ditambah sebagai penukar mesej dalam konfigurasi XML.

Dengan melaksanakan salah satu pendekatan ini, Jackson akan dihalang daripada cuba menyiri objek malas yang tidak diambil, menyelesaikan JsonMappingException dan memastikan pesirilan yang betul.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Ralat Pensirilan Jackson dengan Objek Lazy-Loaded Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn