Hay 7 tipos de propagación de las transacciones en Spring:
- PROPAGATION_REQUIRED - Crea una nueva transacción si no existe. Si existe participa en ella. PROPAGATION_SUPPORTS - No crea una nueva transacción si no existe. Si existe participa en ella.
- PROPAGATION_MANDATORY - Si existe transacción participa en ella. Si no existe lanza una excepción.
- PROPAGATION_REQUIRES_NEW - Crea una nueva transacción. Si existe una transacción actual la suspende.
- PROPAGATION_NOT_SUPPORTED - No participa en la transacción actual y se ejecuta de forma no transaccional.
- PROPAGATION_NEVER - Si existe una transacción actualmente lanza una excepción. PROPAGATION_NESTED - Ejecuta una transacción anidada si existe una transacción actualmente. El caso más habitual es
- PROPAGATION_REQUIRED. http://www.mkyong.com/spring/spring-aop-transaction-management-in-hibernate/