SpringData、JPA、SpringData JPA、Hibernate等一些概念

总是碰到这些名词,但却不知道准确的含义和解释。于是查了资料梳理了一下。

1、SpringData

SpringData是SpringBoot底层数据访问默认采用的技术。

官方解释:

Spring Data提供了一个进行数据访问的统一的途径,包含对关系型、非关系型、Map-Reduce和其他数据库的访问。

Spring Data包含的主要模块:

其中就有Spring Data JPA

2、Spring Data JPA

它是Spring Data的一个模块,用来进行关系型数据库访问。

3、JPA和Hibernate

我们知道Hibernate是一个ORM框架,而JPA(Java Persistence API,java持久化API)是一种ORM规范。JPA和Hibernate的关系就像JDBC和JDBC驱动的关系,也就是JPA制定了ORM规范,而Hibernate实现了这一个规范。

然而事实上是先有Hibernate再有的JPA,JPA的起草者也是Hibernate的作者。因此从功能上说JPA只是Hibernate的子集,只有部分的Hibernate功能。(这有点像日志门面SLF4j和日志框架log4j的关系)

JPA

JPA ( Java Persistence API )意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR 338,这些接口所在包为 javax.persistence ,详细内容可参考 https://github.com/javaee/jpa-spec ,https://github.com/javaee/jpa-spec)JPA的出现主要是为了简化持久层开发以及整合ORM技术,结束Hibernate、TopLink、JDO等ORM框架各自为营的局面。JPA是在吸收现有ORM框架的基础上发展而来,易于使用,伸缩性强。总的来说,JPA包括以下3方面的技术:

  • ORM映射元数据: 支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系
  • API: 操作实体对象来执行CRUD操作
  • 查询语言: 通过面向对象而非面向数据库的查询语言( JPQL )查询数据,避免程序的SQL语句紧密耦合
JPA架构

4、整个体系图

 

参考:

https://www.jianshu.com/p/c23c82a8fcfc

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值