zoukankan      html  css  js  c++  java
  • JPA、Hibernate、Spring Data JPA 的关系,你懂吗?

    640?wx_fmt=jpeg

    来源:https://my.oschina.net/u/3080373/blog/1828589


    什么是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规范!如图:


    640?wx_fmt=png


    什么是 Spring Data JPA?


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


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


    640?wx_fmt=png


    接口约定命名规则:


    640?wx_fmt=png


    实例:


    640?wx_fmt=png

    640?wx_fmt=png


    springboot集成spring data jpa只需两步:


    第一步:导入maven坐标


    640?wx_fmt=png


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


    640?wx_fmt=png


    --END--


    关注Java技术栈微信公众号,在后台回复关键字:Java,可以获取一份栈长整理的 Java 最新技术干货。

    最近干货分享

    Java 8 创建 Stream 的 10 种方式

    不小心执行了 rm -f,先别急着跑路

    Intellij IDEA 智能补全的 10 个姿势!

    Spring Boot 面试,一个问题就干趴下了

    分享一份Java架构师学习资料

    640

    点击「阅读原文」一起搞技术,爽~

  • 相关阅读:
    BZOJ3129/洛谷P3301方程(SDOI2013)容斥原理+扩展Lucas定理
    Dilworth定理
    字符串
    hash
    李超线段树(segment[HEOI2013]-洛谷T4097)
    连通数[JSOI2010]-洛谷T4306
    主席树
    splay
    树链剖分
    受欢迎的奶牛-洛谷2341
  • 原文地址:https://www.cnblogs.com/java-stack/p/11952172.html
Copyright © 2011-2022 走看看