Дъщерните вмъквания ще видят всеки родител, който или е бил ангажиран, или е бил вмъкнат преди това от същата транзакция (независимо дали е ангажиран или не).
Едно нещо, което трябва да проверите, е дали вмъкването на родителя автоматично извлича стойността на първичния ключ (напр. чрез тригер).
Това означава, че издавате израза INSERT в стойности на Contracts (contract_sequence_number, ...) (10437, ...);
но тригерът определя нов contract_sequence_number от последователността и всъщност му дава първичния ключ 10438 (или какъвто и да е).
Друг проблем може да бъде всеки ORM слой, който заличава проблема, като не издава вмъкванията в правилния ред или използва различни връзки извън пул за една „транзакция“.
Също така проверете вмъкването на родителя, който не е върнал грешка.
Опитайте да направите примерна транзакция чрез конвенционален клиент (като SQL*Plus) и вижте дали това работи. Ако дъщерното вмъкване не успее там, просто потърсете обратно най-новия запис от договора (напр. където contract_sequence_number> 10400) и вижте дали вмъкването е успешно.