Q: Did Spring 4.03 vs 3.2.6 change how @Transactional works for Services We've run in to an issue when upgrading to Spring 4 from 3. We've done some testing, but haven't come to a definitive conclusion yet. Basically what we're seeing is that our code which looks something like this isn't saving the newly created entity. This same code worked before upgrading to Spring 4. It seems basic enough that we must be missing something, but so far we haven't figured out why we now need to add the extra @Transactional.
@Transactional
SomeWebSerivce
{
  someAutowiredDomainService.doStuff();
}

@Service
SomeAutowiredDomainService
{
  doStuff(){
    Foo foo = getAttachedEntityFoo();
    foo.createChildEntityBarAndAttachToFooThroughOneToOneMapping(); //<-- this is not persisted to the DB, but if we mark SomeAutowiredDomainService with @Transactional everything works correctly.
  }
}

