After some debugging, it turned out that I did not stop the cascading update distribution inside the self-named model:
type1 → type2 → type3 → collection (type1)
So, all that had to be done was to stop cascading with cascade="none" :
<set name="type1collection" ... cascade="none"> ... </set>
This means that another object with the same identifier value was already associated with a session that was hidden inside self-naming children. Additional updating of these children is not required, therefore cascading is not correct.
source share