Hallo,
wenn ich folgendes definiere:
<set name="honeys" table="BEE_HONEY" cascade="save-update, delete">
<key column="BEE_ID"/>
<many-to-many column="HONEY_ID" class="de.laliluna.example.Honey"/>
</set>
dann wird weder bei MySQL noch bei HSQLDB beim Aufruf des SchemaTools in der ALTER TABLE - Methode beim entsprechenden Constraint ein ON DELETE CASCADE aufgerufen.
Im Programm funktioniert bei einem entsprechenden delete-Aufruf das automatische Löschen der zugeordneten Objekte.
Die Geschwindigkeit ist aber diesselbe, als würde ich einzeln durch die Menge iterieren und alle explizit löschen.
Wenn das Löschen die Datenbank übernehmen würde, müßte es doch erheblich schneller gehen.
Nun habe ich ich einen alten Forumsbeitrag gefunden, auf
http://www.jboss.org/index.html?module= ... &p=3750002
der wiederum auf einen nicht mehr aufzufindenen Beitrag verweist, wo steht, daß das bei MySQL und HSQLDB nicht geht:
Note - Also please note that the Cascade Delete operation is applicable only for databases that support sub-queries. Cascade delete operation will not function for databases such as mysql and hsql, which does not support sub-queries.
Weiß einer - wenn es geht -, was ich noch konfigurieren muß, damit die Datenbank ein cascade delete ausführt?
Danke für alle Hinweise und Tips.
Ciao
Peter Schütt