栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

初识Spring Data JPA

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识Spring Data JPA

spring data jpa介绍

spring data jpa官方文档
Spring Data JPA 是更大的 Spring Data 家族的一部分,可以轻松实现基于 JPA 的存储库。该模块处理对基于 JPA 的数据访问层的增强支持。它使构建使用数据访问技术的 Spring 驱动的应用程序变得更加容易。

实施应用程序的数据访问层已经很麻烦了。必须编写太多样板代码来执行简单的查询以及执行分页和审计。Spring Data JPA 旨在通过减少实际需要的工作量来显着改进数据访问层的实现。作为开发人员,您编写存储库接口,包括自定义查找器方法,Spring 将自动提供实现。

ORM框架对比
ORM框架优点缺点
MyBatisMyBatis是Apache的一个开源项目iBatis,其着力与POJO与SQL之间的映射关系,可以进行更为细致的SQL编写,使用起来十分灵活,上手简单,容易掌握,目前市场占有率最高,比较适合互联网公司的API场景工作量比较大,需要各种配置文件和SQL语句
HibernateHibernate是一个开发源码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得JAVA开发人员可以随心所欲使用面向对象思想进行操控数据库,有自己的HQL语言,数据库移植行好,Hibernate是完备的ORM框架,符合JPA规范,有自己的缓存机制上手比较难,符合企业级的应用系统开发
Spring Data JPA可以理解为对JPA的再次封装,底层还是使用了Hibernate的JPA技术实现,应用JPQL查询语言,属于Spring生态,上手简单,开发效率高,对对象的支持较好,有很大的灵活性入门简单,上手快,但是想要精通就需要了解很多东西
OpenJPAApache开源组织提供的一个开源项目,它实现了EJB3.0的JPA标准,为开发提供强大的功能、使用简单的持久化框架功能、性能、普及性等方面需要加大力度,所以使用的人不是太多
QueryDSLQueryDSL是一个对ORM框架扩展的操作,提供了一种通用的Util和方法来来构建查询参数的API,提供统一的抽象
Java Persistence API 介绍和开源实现

JPA 是 JDK 5.0 新增的协议,通过相关持久层注解(@Entity 里面的各种注解)来描述对象和关系型数据里面的表映射关系,并将 Java 项目运行期的实体对象,通过一种Session持久化到数据库中。

JPA 的宗旨是为 POJO 提供持久化标准规范,可以集成在 Spring 的全家桶使用,也可以直接写独立 application 使用,任何用到 DB 操作的场景,都可以使用,极大地方便开发和测试,所以 JPA 的理念已经深入人心了。Spring Data JPA、Hibernate 3.2+、TopLink 10.1.3 以及 OpenJPA、QueryDSL 都是实现 JPA 协议的框架,他们之间的关系结构如下图所示:

Spring Data 认识

Spring Data 利用一个大家熟悉的、一致的、基于“注解”的数据访问编程模型,做一些公共操作的封装,它可以轻松地让开发者使用数据库访问技术,包括关系数据库、非关系数据库(NoSQL)。同时又有不同的数据框架的实现,保留了每个底层数据存储结构的特殊特性。包含如下模块:

  • Spring Data主要使用的一些模块,根据需要选择对应的一些功能模块。
  • Spring Data common- 支持每个Spring Data模块的Core Spring概念。
  • Spring Data JDBC- 对JDBC的Spring Data存储库支持。
  • Spring Data JPA - 对JPA的Spring Data存储库支持。
  • Spring Data MongoDB - 对MongoDB的基于Spring对象文档的存储库支持。
  • Spring Data Redis - 从Spring应用程序轻松配置和访问Redis。
  • Spring Data JDBC Ext- 支持标准JDBC的数据库特定扩展,包括对Oracle RAC快速连接故障转移的支持,AQ JMS支持以及对使用高级数据类型的支持。
  • Spring Data KeyValue - Map基于库和SPI轻松建立键值存储一个Spring数据模块。
  • Spring Data LDAP - 对Spring LDAP的 Spring Data存储库支持。
  • Spring Data REST- 将Spring Data存储库导出为超媒体驱动的RESTful资源。
  • Spring Data for Pivotal GemFire - 轻松配置和访问Pivotal GemFire,实现高度一致,低延迟/高吞吐量,面向数据的Spring应用程序。
  • Spring Data for Apache Cassandra- 轻松配置和访问Apache Cassandra或大规模,高可用性,面向数据的Spring应用程序。
  • Spring Data for Apace Geode- 轻松配置和访问Apache Geode,实现高度一致,低延迟,面向数据的Spring应用程序。
  • Spring Data for Apache Solr- 为面向搜索的Spring应用程序轻松配置和访问Apache Solr。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号