I found the solution in this thread:
http://forum.hibernate.org/viewtopic.ph ... ey+cascade
The solution is handled by the key-many-to-one tag. This is my final mapping(for one level):
<class name="Department" table="DEPT">
<id name="id" column="ID">
<generator class="sequence">
<param name="sequence">DEPT_SEQ</param>
</generator>
</id>
<property name="name" column="NAME"/>
<set name="divisions" table="DIVISION" cascade="all,delete-orphan" inverse="true">
<key column="DEPT_ID" />
<one-to-many class="Division"/>
</set>
</class>
<class name="Division" table="DIVISION">
<composite-id name="id" class="DivisionKey">
<key-many-to-one name="department" column="DEPT_ID" class="Department"/>
<key-property name="divisionId" column="DIV_ID"/>
</composite-id>
<property name="name" column="NAME"/>
</class>
DivisionKey contains a Department field and a divisionId field.