I am attempting to upgrade from Hibernate 3.6 to 5.4. As part of the upgrade I am replacing .hbm.xml files with annotated objects but am observing an issue when deleting objects that have cascading relationships to other objects.
I am looking at batched deletions of the SessionImpl.actionQueue just before the commit is executed.
Debugging the old 3.6 based implementation I see that batched deletions are ordered in the SessionImpl.actionQueue so that constraints wont be broken as each delete is executed.
Debugging the newer 5.4 based implementation I see that the batched deletions are not ordered appropriately and consequently the commit fails with a ConstraintViolationException.
a) Has anyone seen anything similar before and have any solution?
b) Should Hibernate indeed be responsible for ordering the deletions appropriately (to avoid constraint conflicts)?
c) Is there some external way to influence the order of deletions in the actionQueue?