Spring Data JPA 是Spring基于ORM框架、JPA规范的基础上封装的一套JPA 应用框架,底层使用了Hibernate 的JPA技术实现,可使开发者用极简的代码即可实现对数据的访问和操作。

它提供了包括增删改查等在内的常用功能接口,且易于扩展!学习并使用Spring Data JPA可以极大提高开发效率!

由于微服务系统的广泛应用,服务粒度逐渐细化,多表关联查询的场景一定程度减少。单表查询和单表的数据操作正是JPA的优势。

1.标准化JPA是JCP组织发布的Java EE标准之一,因此任何声称符合JPA标准的框架都遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。

2.容器级特性的支持JPA框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。

3.简单方便JPA的主要目标之一就是提供更加简单的编程模型:在JPA框架下创建实体和创建Java类一样简单,没有任何的约束和限制,只需要使用javax.persistence.Entity进行注释,JPA的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易地掌握。JPA基于非侵入式原则设计,因此可以很容易地和其它框架或者容器集成。

4.查询能力 JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。

5.高级特性 JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。

最新文章

  1. LinkedList源码分析
  2. $.ajax()方法解析
  3. [SAP ABAP开发技术总结]字段符号FIELD-SYMBOLS
  4. IIS6.0服务器搭建网站无法访问解决方法
  5. Cannot find module formidable
  6. 如何在pl/sql developer 7运行到oracle存储过程设置断点的地方
  7. Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
  8. NPOI封装
  9. Vue 项目实战系列 (三)
  10. Java泛型集合
  11. javascript 中的console.log有什么作用啊?
  12. JAVA几种缓存技术介绍说明
  13. jQuery: 判断from表单是否修改
  14. 转载:IIS 之 连接数、并发连接数、最大并发工作线程数、队列长度、最大工作进程数
  15. otter部署【原创】
  16. DataBinding(一)DataBinding初认识
  17. 解决ios手机页面overflow scroll滑动很卡的问题
  18. 16_常用API_第16天(正则表达式、Date、DateFormat、Calendar)_讲义
  19. 在Mac上安装mysql数据库
  20. 使用游标、存储过程、pivot 三种方法导入数据

热门文章

  1. 冲刺随笔——Day_Two
  2. 第15.19节 PyQt(Python+Qt)入门学习:自定义信号与槽连接
  3. PyQt(Python+Qt)学习随笔:设定toolButton弹出菜单的方法
  4. Oracle命令管理账户和权限
  5. 阿里云服务器搭建Docker版AWVS
  6. 搭建xss-platform平台
  7. scrapy爬取微信小程序社区教程(crawlspider)
  8. 团队作业4-Day5
  9. 在IDEA上 使用maven进行打包时报错: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.2:jar
  10. linux 上安装部署python