Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Java

JsonBackReference, ve JsonManagedReference Many to Many, Many to One İlişkisi (Infinite Recursion , StackOverflowError Hatası Çözümü)

Paylaş

Projelerimizde Jackson kütüphanesi oldukça sık kullanılır ve olmazsa olmazımız ORM kütüphanelerimiz.

İçindekiler

  • JsonManagedReference
  • JsonBackReference
  • Örnek

Veritabanı alanlarımız içerisinde yazdığımız OneToMany , Many To One ilişkilerimizdeki alanlarımızın Jackson kütüphanesinde serileştirilmesi sırasında ilşikisel alanlarımız birbirini çağırır ve sonsuz döngüye girer.

Bu sonsuz döngü sorunu farklı hatalar doğurur Jackson hataya düşmektedir. Jackson, Json oluşturmaya çalışırken bu ilişki yapısından dolayı sonsuz döngüye girmesini engellememiz gerekmektedir.

Kullanmamız gereken iki adet anotasyon bulunmaktadır.Aşağıda açıkladığım anotasyonlar çift yönlü Json oluşturmaya olanak sağladığı gibi sorunu da ortadan kaldırmaktadır.

@JsonManagedReference ve @JsonBackReference anotasyonları, çift yönlü bir şekilde JSON yapısı oluşturmak için kullanılabilir.

JsonManagedReference


Sınıf ilişkisinde üst sınıf bölümünün serileştirme işlemini yönetmektedir. Bu anotasyonla işaretlenen alanlar serileştirilir.

JsonBackReference


Sınıf ilişkisinde alt sınıf bölümünün serileştirme işlemini yönetir. Bu anotasyonla işaretlenen alanlar serileştirilir.

Örnek


public class Person { public int id; public String name; @JsonBackReference public List<Product> productList; } public class Product{ public int id; public String productName; @JsonManagedReference public Person person; }
Code language: PHP (php)

Yukarıda verilen örnek karşılaşabilecek hatalarımızı önlemektedir.

Tags:

jacksonjackson hatajackson json nedirjson serializeJsonBackReferenceJsonManagedReference

Paylaş

Diğer Yazılar

Previous

Docker Ports are not available: listen tcp bind: An attempt was made to access a socket in a way forbidden by its access permissions Hatası Çözümü

Spring Boot Dersleri Rest Template
Next

Spring Boot RestTemplate Nedir ve Kullanımı

Next
Spring Boot Dersleri Rest Template
16 Ocak 2022

Spring Boot RestTemplate Nedir ve Kullanımı

Previews
03 Ocak 2022

Docker Ports are not available: listen tcp bind: An attempt was made to access a socket in a way forbidden by its access permissions Hatası Çözümü

blank

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

blank

Jackson Kütüphanesi Nedir? Json İşleme Anotasyonları

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale