title: How can I determine whether I am in a transaction in Spring?
body: <p>I have a problem with persistence in a Spring service. A Rest-Controller R receives a request, and calls a service S via a complex way through some layers of code. The service method in S declares a transaction; this should be the first time a transaction should be started.
  But the service behaves like a transaction already had been started before, and some of my data objects would be part of the session (which they must not).
  How can I determine if a transaction is already active? I have tried to inject EntityManager and/or JpaTransactionManager; but both seem to be of no help.</p>
  
  <p>How can I check whether I am in a transaction or not?</p>
  
  <p>I want to be sure of that before I go hunting through all these layers searching for possible suspects.</p>