In short, when you are using the @Transactional annotation in your code, make sure that you have your pom.xml setup to weave in transactions correctly at COMPILE time. This is an easy yet painful oversight! =)
Below is a snippet (as of 126.96.36.199) that works in your pom.xml. The one generated from the Maven: How To Create a New Maven Project didn't have the aspect libraries declaration for Spring and as a result....transactions were being ignored.
Happy to provide some more context if others need it...but thought I'd share before I forgot.