Ho un'applicazione Play2 che utilizza eBean integrato con il database PostgreSQL.Modello di salvataggio in cascata che non salva la relazione
Fondamentalmente ho un modello TripRequest
che come un elenco di Passenger
s. Il caso d'uso è "Un viaggio ha diversi passeggeri".
Per la TripRequest
ho questo modello:
@Entity
public class TripRequest extends Model {
enum Status {
OPEN,
PROCESSING,
CLOSED,
CANCELLED
}
@Id
private UUID id;
@ManyToOne
@Column(nullable = false)
private User owner;
@OneToMany(mappedBy = "tripRequest")
@JoinTable(name = "trip_passengers")
private List<Passenger> passengers;
(... other fields, getters and setters ...)
e questo è il mio modello Passenger
:
@Entity
@Table(name = "trip_passenger")
public class Passenger extends Model {
@ManyToOne(cascade = CascadeType.ALL)
private TripRequest tripRequest;
@Column(nullable = false)
private String name;
(... other fields, getters and setters)
Così, ho creare una nuova istanza di TripRequest
, diversi casi di Passenger
e set che elencare come i passeggeri dell'istanza TripRequest
. Il problema è che quando eseguo il comando tripRequest.save()
, tutto nell'istanza principale (TripRequest
) viene salvato ma le relazioni non lo sono (quindi l'elenco dei passeggeri).
ho letto nella documentazione e gli esempi e tutto quello che mi sta indicando al CascadeType.ALL
nel @ManyToOne
di annotazione, ma non "fortuna" a tutti
EDIT: se si pensa le classi completi sono utili per favore fatemelo sapere come io può pubblicarli. Ho deciso di mantenere l'esempio breve, così li ho tagliati.
Il risultato è lo stesso se la cascata viene posizionata su '@ OneToMany'? – jsonmurphy
@jsonmurphy Ricevo una NullPointerException come descritto in https://gist.github.com/mribeiro/2627ecb640bf19e0adb6 –