【Spring-data-jpa】Spring-data-jpa与spring,jpa,Hibernate的关系总结

     我们在使用持久化工具的时候,一般都有一个对象来操作数据库,在原生的Hibernate中叫做Session,在JPA中叫做EntityManager,在MyBatis中叫做SqlSession,通过这个对象来操作数据库。我们一般按照三层结构来看的话,Service层做业务逻辑处理,Dao层和数据库打交道,在Dao中,就存在着上面的对象。那么ORM框架本身提供的功能有什么呢?

       答案是基本的CRUD,所有的基础CRUD框架都提供,我们使用起来感觉很方便,很给力,业务逻辑层面的处理ORM是没有提供的,如果使用原生的框架,业务逻辑代码我们一般会自定义,会自己去写SQL语句,然后执行。在这个时候,Spring-data-jpa的威力就体现出来了,ORM提供的能力他都提供,ORM框架没有提供的业务逻辑功能Spring-data-jpa也提供,全方位的解决用户的需求。使用Spring-data-jpa进行开发的过程中,常用的功能,我们几乎不需要写一条sql语句。       

     Spring Data是一个开源框架,Spring-data-jpa只是这个框架中的一个模块,所以名称才叫Spring Data JPA。之前断断续续讲了一些关于spring data jpa 的应用,现在对spring data jpa做总结,区别spring-data-jpa与spring,hiberinate,jpa之间的关系


第一,jpa定义了持久化的规范

      JPA即Java Persistence Architecture,Java持久化规范,JPA的底层实现是一些流行的ORM框架,比如Hibernate,EclipseLink,OpenJPA等实现方式。百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现。在ORM框架中,Hibernate是一支很大的部队,使用很广泛,也很方便,能力也很强,同时Hibernate也是和JPA整合的比较良好,我们可以认为JPA是标准,事实上也是,JPA几乎都是接口,实现都是Hibernate在做,宏观上面看,在JPA的统一之下Hibernate很良好的运行。

         关于jpa的基本介绍,请见博客:https://blog.csdn.net/clamaa/article/details/70046230#

第二,Spring-data-jpa 是spring与jpa的结合

         我们做Java开发的都知道Spring的强大,到目前为止,企业级应用Spring几乎是无所不能,无所不在,已经是事实上的标准了,企业级应用不使用Spring的几乎没有。而Spring整合第三方框架的能力又很强,他要做的不仅仅是个最早的IOC容器这么简单一回事,现在Spring涉及的方面太广,主要是体现在和第三方工具的整合上。而在与第三方整合这方面,Spring做了持久化这一块的工作,个人认为,spring也想做持久化,于是就有了Spring-data-**这一系列包。包括,Spring-data-jpa,Spring-data-template,Spring-data-mongodb,Spring-data-redis,还有个民间产品,mybatis-spring,和前面类似,这是和mybatis整合的第三方包,这些都是为持久化做的工具。

                                                                  

第三,同类持久化框架比较

        https://blog.csdn.net/qq897958555/article/details/53208002

        https://blog.csdn.net/jiangyu1013/article/details/78876288

      综上,spring-data-jpa与Hibernate的关系是,Hibernate封装了完整的ORM映射机制,实现了jpa的接口,spring和jpa整合,形成了spring-data-jpa工具包。我们通过操作spring-data-jpa 就可以像可以完成数据的持久化。

参考博客:

https://www.cnblogs.com/dreamroute/p/5173896.html

https://www.yiibai.com/jpa/jpa-object-relational-mapping.html

http://www.cnblogs.com/mrx520/p/7467160.html

猜你喜欢

转载自blog.csdn.net/WKX18330698534/article/details/81434355