Json, problema de serializacion bi-direccional

Cuando tenemos una relación bidireccional en @annotations podemos obtener un error de serialización en Json.

En la práctica, se creará un bucle infinito intentando Serializar el objeto relacionado.

Para solucionar esto, en Jackson, tenemos estas anotaciones:

En la Collection agregamos @JsonManagedReference:


@OneToMany(mappedBy = "rubro",cascade = CascadeType.ALL,orphanRemoval=true)

@JsonManagedReference

private List<SubRubro> subrubros;

En la otra relación agregamos @JsonBackReference:


@JoinColumn(name = "rubro_id")

@ManyToOne(cascade = {CascadeType.DETACH})

@JsonBackReference

private Rubro rubro;

 

Problema solucionado.

Anuncios