Spring的ORM(休眠)vs hibernate

时间:2015-04-22 07:22:29

标签: java spring hibernate spring-mvc

我在我使用过Spring MVC的java项目中使用了hibernate。

我避免了SPRING HIBERNATE,因为它似乎使我的代码紧密耦合。现在,即使我将应用程序移动到struts,我的服务层也可以正常工作(因为我使用了核心休眠,它不是spring提供的那个)。

我希望一些有经验的开发人员回答这个问题:

使用spring hibernate的原因是什么?我知道它提供了许多功能但是有一个权衡,因为它确实使你的代码紧密耦合,你不能重新使用任何其他地方的服务,因为它们将基于spring的hibernate api工作

3 个答案:

答案 0 :(得分:4)

Spring有7个不同的模块,每个模块是独立的,你可以使用它们中的任何一个或多个

  • 核心容器
  • Spring上下文
  • Spring AOP
  • Spring DAO
  • 春季ORM
  • Spring Web模块
  • Spring MVC框架

您想了解ORM集成,请相信我与您的服务层没有任何紧密联系

你可以在服务层spring-orm + hibernate上同时使用strut mvc没有紧耦合,更多的是spring提供事务mgt。 hibernatetemplate支持,你不需要处理会话和事务mgt,当然还有简单的集成和配置。

答案 1 :(得分:1)

根据我的经验,Spring-Hibernate提供:

  • 一个易于使用的模板'其配置
  • 持久性引擎可以用作依赖项,因此您可以随时更改它而无需在模型类中修改JPA注释
  • 它应该更有效地管理XA交易

没有别的......

答案 2 :(得分:0)

复杂的问题,我可以用另一个问题回答:

使用休眠的原因是什么?我知道它提供了许多功能但是有一个权衡,因为它确实使你的代码紧密耦合,你不能重新使用任何其他地方的服务,因为它们将基于hibernate api工作。

为什么不使用直接JDBC和SQL?

要在这个问题上提高效率:选择一个框架总是需要权衡:与框架结合起来。

因此,框架提供的功能是否值得付出代价。