I have a service with methods marked as Transactional on a product that has worked for almost a year. I tried replacing the XML bean declaration with a Service annotation at the top of the class, and it seemed to work fine. Unit tests on the transactional methods work, however when I call the exact same methods within Tomcat 6.0, I get a LazyInitializationException (while iterating through a lazy collection), indicating that the session (and thus the transaction) is not being preserved. When I remove the component annotation and declare the bean in XML again, it works fine. Any ideas?