这是为什么?@Transactional

解决方案 »

  1.   

    配在Service层比较科学吧。
      

  2.   

    当然可以用啦,事务的实质就是要你操作数据库时从一而终,要么全部完成,要么回滚撤销所有操作,在dao层的方法对数据库的操作通常来说是简单的,没业务逻辑性的,所以对于这种加了一个事务也可以,但没必要;但在service层,里面的方法通常是包含一些复杂逻辑的,一个方法可能就调用了dao的多个方法,所以就必须做到事务管理,要么service方法里面的dao方法全部执行,要么全部撤销。这样才能保证数据库数据的正确性。
      

  3.   

    我们的SERVICE和DAO是分开的两个工程功过maven产生依赖,然后是把事务配置在了DAO层,但是在SERVICE可以使用 。真心看不懂
      

  4.   

    一般建议是在Service层使用的,至于为什么,相信你看了楼上的回答已经有了清晰的了解了,同时不是说你配置了@Transactional就起了作用的,也可能是其他的配置影响了,你把你的配置的代码贴上来看看了!
      

  5.   

    对于 Spring 来说不存在什么 service 层和 dao 层!在这两层上的 @Transactional 对于 Spring 而言只是一样的东西
      

  6.   

    我记得Spring开发团队建议在service中使用这个注解——@Transactional
      

  7.   

    @Transactional  是spring的事务  怎么不能使用
      

  8.   

    哪里提到过?文档里面?
     Spring团队的建议是你在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。你当然可以在接口上使用 @Transactional 注解,但是这将只能当你设置了基于接口的代理时它才生效。因为注解是 不能继承 的,这就意味着如果你正在使用基于类的代理时,那么事务的设置将不能被基于类的代理所识别,而且对象也将不会被事务代理所包装(将被确认为严重的)。因此,请接受Spring团队的建议并且在具体的类上使用 @Transactional 注解。——引用自http://blog.csdn.net/defonds/article/details/6888311
      

  9.   

    配置到Dao层意义不大吧
      

  10.   

    请问下,Spring+JdbcTemplate怎么配置多个数据库的事务管理??在线等,急!!!
      

  11.   

    @Transactional   这个是spring注解    不是应该放在services层的吗   为什么要放在dao层
      

  12.   

    其实在哪实现都行,重点是好的分层,对于代码的维护更简单一些,DAO专门管数据层,service专门做业务逻辑,action专门做请求转发处理。
      

  13.   

    看到这里终于认清DAO SERVICE ACTION的这些层该如何用了