Spring ORM或Hibernate

Joh*_*nak 10 spring hibernate

我只是想知道为什么Spring和Hibernate的组合如此受欢迎,什么时候可以让Hibernate离开并只使用Spring ORM?

duf*_*ymo 28

Spring没有自己的ORM.您可以使用Hibernate,TopLink,iBatis或JDO.

您可以自由使用Spring JDBC,但您必须自己编写所有映射器.

如果您不喜欢动态SQL或ORM解决方案的复杂性,建议将ORM保留在循环之外.您还可以通过自己整理持久性来消除依赖关系.


Ang*_*own 11

Spring很受欢迎,因为它可以处理任何ORM框架的"样板"剪切和粘贴代码.思考try ... finally块,处理会话对象(Hibernate或其他)和commit / rollback(事务).

交易管理也是Spring的强项.您可以使用注释或在Spring xml配置文件中定义事务.在配置文件中,好处是您可以使用通配符来指定,例如,某些包中的所有查找方法都应该支持事务(PROPAGATION_SUPPORTS),但所有插入,更新,删除方法都应该需要事务(PROPAGATION_REQUIRED).

因此,无论ORM框架如何,我都会使用Spring.如果您有简单的要求或没有那么多的JDBC代码,Spring的JDBC模板可能就足够了.而且,Spring可以在需要时轻松升级到Hibernate.