Spring Data JPA Spring Data和Spring Data JPA的概述

  • Spring Data是为了简化构建基于Spring框架应用的数据库访问技术的一个项目,支持关系数据库、非关系型数据库、Map-Reduce框架和云数据服务等。Spring Data包含多个子项目,如下:
    在这里插入图片描述
  • Spring Data为我们使用统一的API来对数据访问层进行操作,这主要是Spring Data Common项目来实现。Spring Data Commons让我们在使用关系型或非关系型数据访问技术时都基于Spring提供的统一标准,标准包含CRUD、查询、排序和分页的相关操作。这些操作统一由Repository相关的接口来定义:
  1. 基本接口Repository
  2. 基于乐观锁机制操作的接口:RevisionRepository
  3. 基于CURD操作的接口:CrudRepository
  4. 基于CRUD、分页和排序操作的接口:PagingAndSortingRepository
  • Spring Data 与 Spring Data JPA的关系:
    在这里插入图片描述

  • Spring Data JPA实现了Spring Data定义的相关接口,所以应用程序只需调用这些接口就能使用Spring Data子项目(Spring Data JPA和其他项目)实现的功能。估计底层设计多态的运用是其核心。

  • JPA是Java Persistence API的缩写,它是由Java EE所定义的一个规范;该规范被一些框架所实现了,例如Hibernate。

  • 说起这些操作数据库的框架,ORM(Object Relation Mapping)的概念不得不说。

  1. ORM出现的背景:Applications need to save data to persistent storage. Persistent storage can be database, directory service, or other. For O-O programming, we’d like to save and retrieve objects to/from storage. Therefore, the concept of ORM is generated.
  2. 数据库的设计与程序的面向对象设计有着本质上的相似,为了使操作数据库也面向对象(使用过JDBC操作数据,就能发现一旦业务需求过多,SQL代码也会相应的多了、复杂了起来,并且代码管理也显得非常冗余。)一些数据库操作框架被发明了。这些框架相当于应用和数据库之间的中间层,中间层能屏蔽数据库操作的复杂性;如果业务需求繁多,中间层的使用也能提高代码的复用性和易管理性。
  3. 中间层的设计并不简单,其中涉及到比较多的设计层面的问题,有兴趣的小伙伴可以查阅资料去了解。这里讲到的JPA就是Java语言对于ORM中间层的规范。
  • 0
    点赞
  • 0
    收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:鲸 设计师:meimeiellie 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值