में ऑर्मेलाइट का उपयोग कर विदेशी कुंजी पर कैस्केड को हटाने के लिए कैसे करें I एंड्रॉइड में ऑर्मेलाइट का उपयोग कर रहा हूं और टेबल को सफलतापूर्वक बनाया है और डीएओ का उपयोग करके विभिन्न संचालन कर रहा है।एंड्रॉइड
लेकिन यदि प्राथमिक कुंजी मुख्य तालिका से हटा दी जाती है तो मैं विदेशी कुंजी पंक्ति को हटाने में फंस गया हूं।
मेरे पास अभिभावक और बच्चे नाम की दो सारणी हैं। माता-पिता के एक से अधिक बच्चे होते हैं इसलिए मैंने बच्चे को विदेशी कुंजी से जोड़ा।
कोड:
जनक तालिका:
@DatabaseField(id = true)
private Integer id;
@ForeignCollectionField(eager = false)
private ForeignCollection<Child> childCollection;
बाल तालिका:
@DatabaseField(id = true)
private Integer id;
@DatabaseField(foreign = true, foreignAutoRefresh = true, canBeNull = false,
index = true, columnDefinition = "INTEGER REFERENCES parent(id) ON DELETE CASCADE")
private Parent parent;
अब मैं एक विशेष आईडी के लिए माता-पिता पंक्ति को हटाने हूँ तो यह न हटाए बच्चे की मेज से बच्चे।
public void deleteById(Integer parentId) {
try {
Dao<Parent, Integer> parentDao = databaseHelper.getParentDao();
parentDao .deleteById(parentId);
} catch (SQLException e) {
e.printStackTrace();
}
}
कृपया मुझे मार्गदर्शन करें, जहां मैं गलत कर रहा हूं। मैंने कई बार कोशिश की है और Google को कोई भाग्य नहीं है।
स्टैक ओवरव्लो एक मंच नहीं है, नए उत्तरों का स्वागत है :) – m0skit0