Ho un progetto che si occupa di una mappatura ORM di oggetti (ci sono alcune relazioni @OneToMany
ecc.).Avvio a molla JPA - JSON senza oggetto nidificato con relazione OneToMany
Sto utilizzando l'interfaccia REST per trattare questi oggetti e Spring JPA per gestirli nell'API.
Questo è un esempio di uno dei miei POJO:
@Entity
public class Flight {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
private String dateOfDeparture;
private double distance;
private double price;
private int seats;
@ManyToOne(fetch = FetchType.EAGER)
private Destination fromDestination;
@ManyToOne(fetch = FetchType.EAGER)
private Destination toDestination;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "flight")
private List<Reservation> reservations;
}
Quando si effettua una richiesta, devo specificare tutto nel JSON:
{
"id": 0,
"reservations": [
{}
],
"name": "string",
"dateOfDeparture": "string",
"distance": 0,
"price": 0,
"seats": 0,
"from": {
"id": 0,
"name": "string"
},
"to": {
"id": 0,
"name": "string"
}
}
Quello che io preferirei, è in realtà specificando l'id dell'oggetto referenziato invece dei loro corpi interi, come questo:
{
"id": 0,
"reservations": [
{}
],
"name": "string",
"dateOfDeparture": "string",
"distance": 0,
"price": 0,
"seats": 0,
"from": 1,
"to": 2
}
È anche possibile ble? Qualcuno potrebbe darmi qualche idea su come farlo? Sto solo cercando tutorial su come fare il contrario (la soluzione che ho già).
Puoi provare a trovare questo utile - http://wiki.fasterxml.com/JacksonFeatureObjectIdentity – VadymVL