हालांकि आपने डीडीएल के रूप में "डिलीट कैस्केड" पर पूछा है, लेकिन मेरे उत्तर में सॉफ्टवेयर स्तर शामिल है। ईबीन डीबी स्तर के कैस्केड उत्पन्न नहीं कर रहा है। इसके बजाए, यह सॉफ्टवेयर में कैस्केडिंग ऑपरेशन को संभालता है। मुझे लगता है कि यह एक अच्छा विकल्प है।
से देखें (avaje-ebeanorm-4.6.2.jar: com/avaje/ebeaninternal/सर्वर/जारी रहती है/DefaultPersister)
/**
* Delete the bean.
* <p>
* Note that preDelete fires before the deletion of children.
* </p>
*/
private void delete(PersistRequestBean<?> request) {
DeleteUnloadedForeignKeys unloadedForeignKeys = null;
if (request.isPersistCascade()) {
// delete children first ... register the
// bean to handle bi-directional cascading
request.registerDeleteBean();
deleteAssocMany(request);
request.unregisterDeleteBean();
...
आप देख सकते हैं कि एक अनुरोध है अगर कैस्केड, तो पहले इसके बच्चे हटा दिए जाते हैं (शायद यह किसी भी तरह से रिकर्सिव है)।
मेरे पोस्टग्रे डीबी में, स्वचालित रूप से जेनरेट की गई विदेशी कुंजी बाधाओं में कोई कैस्केड नहीं होता है, लेकिन फिर भी डिलीट ऑपरेशन कैस्केड होते हैं।