Spring 4.03 vs 3.2.6是否改变了@Transactional对服务的作用

时间:2014-04-26 00:27:56

标签: java spring hibernate

从3开始升级到Spring 4时,我们遇到了一个问题。我们已经做了一些测试,但还没有得出明确的结论。基本上我们所看到的是,我们看起来像这样的代码并不能保存新创建的实体。这个代码在升级到Spring 4之前一直有效。看起来很基本,我们必须遗漏一些东西,但到目前为止我们还没弄清楚为什么我们现在需要添加额外的@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.
  }
}

0 个答案:

没有答案