开发者社区> 问答> 正文

请帮分析下为什么仅在Controller下可以进行持久层的操作:报错

系统使用spring mvc框架,请诸位帮分析下。

为什么只能在Controller中进行删除操作,但是到了services中就无效了,理论上上应该是所有的逻辑都应该在services实现,持久层在dao层实现。

我正常的操作是在services中调用dao的方法,然后在里面用hibernateTemplate进行持久层的操作。

请各位帮分析下,谢谢

展开
收起
kun坤 2020-06-14 08:10:54 558 0
1 条回答
写回答
取消 提交回答
  • 事务配置有问题有可能######你的注解去开启事务还是手动去开启。。。应该是事务的问题。手动在服务层开启提交一下试试!######

    需要右图有真像,我可以帮你看看,我们的项目就是SpringMVC


    ######

     <prop key="hibernate.connection.autocommit">false</prop>

    似乎和这句有关系

    ###### ######

    引用来自“pengcheng_1024”的答案

    需要右图有真像,我可以帮你看看,我们的项目就是SpringMVC


    上面放出了
    ######

    目前发现的问题是在一个services里面的dao方法也会受到事务的限制,该事务应该是配置在services上了的,但是在一个services里面似乎用以get为命名开始的dao方法后,delete方法就无效了。

    ######

    大多数SSH项目中Service只是DAO的代理,真正的业务逻辑是在ACTION里

    DAO理论上是属于MODEL层,Service也是,所以不能实现业务逻辑

    ######

    引用来自“王瑞平”的答案

    大多数SSH项目中Service只是DAO的代理,真正的业务逻辑是在ACTION里

    DAO理论上是属于MODEL层,Service也是,所以不能实现业务逻辑

    正常的项目业务逻辑都应该是在service层来做的吧
    ######service是DAO代理访问层######controller
    2020-06-14 08:11:01
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
开源广进-用Service Catalog构造K8S服务能力 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载