Hola:
 
En primer lugar, muchas gracias por contestar. 
En segundo lugar, usando:  
Código:
 @Transactional(rollbackFor = Throwable.class)
  en el método del servicio que llama al dao, e indicando:  
Código:
 <tx:annotation-driven transaction-manager="txManager" />
  en el spring.xml, me sigue sin hacer rollback al saltar una excepción. 
He probado a poner:  
Código:
 @Transactional(propagation = ppropagation.MANDATORY, 
               rollbackFor = Throwable.class)
  y me salta la exceción:  
Código:
 No existing transaction found for transaction
marked with propagation 'mandatory'
  , así que parece que la anotación la recoge correctamente. 
¿Vendrá el error por usar 
HibernateDaoSupport? 
Un saludo.
Adolfo 
-
No hay camino hacía el Software Libre. El Software Libre es el camino.
Sígueme en Twitter ( [URL="http://twitter.com/asanzdiego"]@asanzdiego[/URL] )