您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在DAO服务层架构中将Spring MVC与Hibernate一起使用的正确方法是什么

在DAO服务层架构中将Spring MVC与Hibernate一起使用的正确方法是什么

恕我直言,交易应转到服务层。通常,一项业务交易包含多个查询和更新。如果@Transactional仅放置在DAO层上,则每个查询和更新将在单独的事务中运行,这实际上违反了事务的目的。

但是,如果服务为@Transactional,则每次数据库交互都会加入一个主要事务,该事务在Web层进入服务层时开始。请注意,在这种情况下,如果Web层运行多个服务方法,则每个方法将在单独的事务中运行(同一问题上移了一个级别)。但是放置@Transactional在Web层中可能会引入意想不到的副作用,例如N + 1问题,否则会被捕获。因此,尝试通过Web层调用的一种服务方法来保持一项业务交易。

Java 2022/1/1 18:15:12 有529人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶