Rollback en Spring con Hibernate

Buen dia comunidad,

Estoy teniendo problemas al querer hacer rollback en un ws echo en java con spring framework y utilzando hibernate como orm, el ws realiza dos acciones en la BD, primero guarda la cabecera en una tabla y regresa el id que genero, posteriormente usa ese id para insertar en detalles los demas datos como son varios ese metodo de guardar lo tengo dentro de un for, pero los tengo en metodos separados en el business, en el controller es donde los mando a llamar, todos los metodos los tengo marcados con la anotacion @Transactional, pero cuando truena antes al momento de guardar el detalle, no me esta deshaciendo el dato de la cabecera, es decir, el primer save realizado.

Me podrian ayudar de favor, cualquier pista seria de gran ayuda, gracias..

Comparto el codigo:

 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Nopalin

No son transaccionales

Para que un método sea transaccional no basta con solo anotarlo con @Transactional, en tu contexto de spring tienes que definir un transaction strategy, el cual se hace definiendo un bean que implemente la interface PlatformTransactionManager. Cuando spring encuentra la definición de esta interface entre los beans que va a instanciar entonces ya sabe que strategia aplicar para la transaccionalidad, y ahora si a todos los métodos que encuentre anotados con @Transactional se la aplica. Yo por ejemplo utilizo el siguiente codigo para definir el bean:

 

Como vez, también se le indica el bean datasource que estas usando para las conexiones a la base de datos.

Saludos