什么么是JPA?

全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。

为我们提供了:

1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;

如:@Entity、@Table、@Column、@Transient等注解。

2)JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。

如:entityManager.merge(T t);

3)JPQL查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

如:from Student s where s.name = ?

但是:

JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。

也就是说:

JPA是一套ORM规范,Hibernate实现了JPA规范!如图:

什么是spring data jpa?

spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。

Spring Data JPA 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。如图:

接口约定命名规则:

实例:

springboot集成spring data jpa只需两步:

第一步:导入maven坐标

第二步:yml配置文件中配置jpa信息

最新文章

  1. console.log("A"-"B"+"3")=?
  2. Linux I/O多路复用
  3. SQL*Loader之CASE3
  4. 对ASP.NET 5和ASP.NET MVC 6应用程序进行集成测试
  5. ABP的工作单元
  6. C# 文件操作(上传,下载,读取,写入)
  7. dual
  8. <一道题>abc+cba=1333,求满足条件的abc的值,隐含条件a!=0,c!=0
  9. close和shutdown函数的区别
  10. 几款开源的图形界面库(GUI Libraries)
  11. 学习java随笔第二篇:java开发工具——Eclipse
  12. 关于HTTP头标
  13. input 和raw_input
  14. SCP实现无需密码传输文件
  15. mysql性能监控工具
  16. 每周.NET前沿技术文章摘要(2017-06-07)
  17. js万年历,麻雀虽小五脏俱全,由原生js编写
  18. 《HTTP权威指南》1-HTTP概要
  19. Install/Remove of the Service Denied!
  20. SerializeField和HideInInspector

热门文章

  1. 靠谱助手 BlueStacks
  2. Web安全之跨站伪造请求(CSRF)
  3. stelller插件与background-attachment配合使用,制作滚动页面
  4. MySQL sql_mode 说明(及处理一起sql_mode引发的问题)
  5. Perl 变量
  6. MYSQL - database 以及 table 的增删改查
  7. (转)ActiveMQ 使用场景
  8. echarts 默认柱状图每根柱子显示不同颜色(随机显示和定制显示)
  9. 固定定位fixed,绝对定位absolute,相对定位relative;以及overflow
  10. iOS开发UITableView随笔