¿Cómo funciona la suspensión de transacciones en primavera?

Mi pregunta es básicamente la misma que es.aquí, pero no estoy satisfecho con la respuesta, así que estoy escribiendo esta pregunta.

En el manual de Spring Framework se indica que para una PROPAGATION_REQUIRES_NEW se suspenderá la transacción actual. ¿Cómo se implementa esto realmente? Sé que la mayoría de las bases de datos no admiten transacciones anidadas y solo pueden tener una transacción ejecutándose en una conexión. Esto significa que no puede simplemente "no usar" la transacción original y comenzar una nueva; antes de comenzar una nueva, debe confirmar o deshacer la transacción original.

Ejemplo:

START TRANSACTION
SELECT ...
UPDATE ...
-- Now we run method with PROPAGATION_REQUIRES_NEW
-- How do we "suspend" transaction so we can start new one?
START TRANSACTION
UPDATE ...
COMMIT
-- We returned from the method, result was commited
-- Now we'd like to "unsuspend" the original transaction so it can be commited/rollbacked, but how?

¿O es esto posible implementado usando otra conexión (objeto de sesión)? ¿Para que dejemos de usar la conexión original y creamos una nueva donde podamos comenzar una nueva transacción?

Aquí falto algo tan obvio que a nadie le importa explicarlo (al menos no en Spring docs, Spring in Action, Spring persistence with Hibernate).

¡Muchas gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta