मेरे पास PostgreSQL डेटाबेस के साथ एकीकृत eBean का उपयोग कर Play2 एप्लिकेशन है।कैस्केड मॉडल को बचाने के लिए मॉडल को बचाने के लिए
असल में मेरे पास TripRequest
एक मॉडल है जो एस की सूची के रूप में है। उपयोग का मामला "एक यात्रा में कई यात्रियों हैं"।
TripRequest
के लिए मैं इस मॉडल है:
@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 ...)
और ये मेरे 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)
तो, मैं TripRequest
का एक नया उदाहरण बनाने के लिए, Passenger
और सेट के कई उदाहरण है कि TripRequest
उदाहरण के यात्रियों के रूप में सूचीबद्ध करें। समस्या यह है कि जब मैं tripRequest.save()
मुख्य उदाहरण (TripRequest
) में सबकुछ बचाता हूं लेकिन संबंध नहीं हैं (इसलिए यात्रियों की सूची)।
मैं प्रलेखन और उदाहरण में पढ़ सकते हैं और सब कुछ @ManyToOne
एनोटेशन लेकिन सभी
संपादित में कोई "लक" में CascadeType.ALL
करने के लिए मुझे इशारा कर रही है: अगर आपको लगता है पूरा कक्षाएं उपयोगी होते हैं मुझे मैं के रूप में हमें बताएं उन्हें पोस्ट कर सकते हैं। बस उदाहरण को छोटा रखने का फैसला किया ताकि मैंने उन्हें छीन लिया।
क्या परिणाम वही है यदि कैस्केड को '@ OneToMany'' पर रखा गया है? – jsonmurphy
@jsonmurphy मुझे https://gist.github.com/mribeiro/2627ecb640bf19e0adb6 –