कहें कि मेरे पास unidirectional@ManyToOne
संबंध निम्न जैसा है:जेपीए: यूनिडायरेक्शनल कई से एक और कैस्केडिंग डिलीट
@Entity
public class Parent implements Serializable {
@Id
@GeneratedValue
private long id;
}
@Entity
public class Child implements Serializable {
@Id
@GeneratedValue
private long id;
@ManyToOne
@JoinColumn
private Parent parent;
}
यदि मेरे पास माता-पिता पी और बच्चे सी 1 है ... सी n पी को संदर्भित करता है, क्या वहां एक साफ है और जेपीए में बच्चों को स्वचालित रूप से हटाने के लिए जेपीए में सुंदर तरीका सी 1 ... सी n जब पी हटा दिया जाता है (यानी entityManager.remove(P)
)?
जो मैं खोज रहा हूं वह एक कार्यक्षमता है जो SQL में ON DELETE CASCADE
जैसा है।
भले ही केवल 'चाइल्ड' के पास 'अभिभावक' का संदर्भ है (इस तरह संदर्भ में एक-दूसरे के संदर्भ में 'बाल' की सूची जोड़ने के लिए समस्याग्रस्त है और 'कैस्केड = ऑल' 'माता-पिता' के लिए विशेषता? मुझे लगता है कि जेपीए को यह हल करना चाहिए कि केवल 1 पक्ष में भी मुश्किल है संदर्भ। – kvDennis
@kvDennis, ऐसे मामले हैं जहां आप एक तरफ कई तरफ कसकर जोड़ना नहीं चाहते हैं। जैसे एसीएल जैसी सेटअप में जहां सुरक्षा अनुमतियां पारदर्शी हैं "एड-ऑन" – Bachi