Я не хочу, чтобы Джексон дважды сохранял экземпляр объекта, потому что при десериализации я получу два одинаковых объекта, но не с одной и той же ссылкой.
public final class Project{
private List<Device> devices;
private Zone zone;
...
}
public class Zone {
@JsonManagedReference
private List<Device> devices;
...
}
public abstract class Device {
protected String id;
protected String name;
@JsonBackReference
protected Zone zone;
...
}
В нем должно храниться что-то вродеэто:
{
"project": {
"devices": {
[{"id": 1, "name": bla},
{"id": 2, "name": blabla},
{"id": 3, "name": blablabla}]
},
"zone": {
"devices": [1, 3]
}
}
}