Yes, by some reasons delete orphaned does not work with arrays.
Code:
<array name="addresses" table="ent_address_arr" cascade="all-delete-orphan" >
<key column="ent_id"/>
<index column="ind"/>
<many-to-many column="address_id" class="Address"/>
</array>
does not cause unreferenced Address to be deleted
Code:
<list name="addresses" table="ent_address_arr" cascade="all-delete-orphan" >
<key column="ent_id"/>
<index column="ind" />
<many-to-many column="address_id" class="Address"/>
</list>
deletes unreferenced record from address.
I suggest submitting bug .
[/code]