If you still have this problem and all the configurations are ok, please make sure that the @Transaction annotated method is public, not protected in order to be identified/managed by the transaction manager.
To enable @Transactional in your Spring context you should have the following:
Appropriate for your version of Spring:
http://www.springframework.org/schema/tx " rel="nofollow" target="_blank">http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
Enable the annotations:
Declare your transaction manager injecting your entity manager: