Es fácil, no hagas el commit
No, a ver, tu puedes iniciar una transacción cuando quieras y terminarla cuando gustes. Todos los cambios sucedidos en la base de datos serán grabados a la vez en el commit o deshechados en el rollback y, durante la vida de la transacción, puedes ver los valores que toman dichos registros en cualquier momento
Así pues, no le veo el problema en hacer un solo commit al finalizar la entrada de datos del detalle (de hecho es lo que yo hayo
)