SpringData,JPA,MongoDB,Solr,Elasticsearch底层逻辑关系

一: Spring-data底层的接口路基:

spring-data : PagingAndSortingRepository-> CrudRepository-> Repository ,它是springdatajpa,solr,mongoDB,Elasticsearch的核心基础。

有三个主要的接口:

1. Repository<T, ID> {}空接口

2.CrudRepository<T, ID>extends Repository<T, ID> 主要是CRUD接口

3.PagingAndSortingRepository<T, ID>extends CrudRepository<T, ID>主要是分页排序和CDUR的方法

二:关于 spring-data-jpa

spring-data-jpa:它只有一个核心的接口便 是JpaRepository,它的接口路基关系是:

JpaRepository<T, ID extends Serializable>extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T>CRUD分页排序等方法都有

三:关于spring-data-solr,它的接口路基关系是:SolrRepository->Repository,它有二个核心基础接口:

1.SolrRepository<T, ID extends Serializable>extends Repository<T, ID>
                 2.SolrCrudRepository-> SolrRepository<T, ID>, PagingAndSortingRepository

四:关于spring-data-mongoDB,它的接口路基是MongoRepository->PagingAndSortingRepository,它有一个核心接口是
                   1.MongoRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T>

五:Spring-data-Elasticsearch:它的接口路基是ElasticsearchPagingAndSortingRepository-> ElasticsearchCrudRepository-> ElasticsearchRepository ,它               有二个核心基础的接口是:

1.ElasticsearchRepository<T, ID extends Serializable>extends ElasticsearchCrudRepository<T, ID>
                  2.ElasticsearchCrudRepository<T, ID extends Serializable>extends PagingAndSortingRepository<T, ID>

时间: 2024-12-21 00:08:39

SpringData,JPA,MongoDB,Solr,Elasticsearch底层逻辑关系的相关文章

SpringData Jpa、Hibernate、Jpa 三者之间的关系

JPA规范与ORM框架之间的关系是怎样的呢? JPA规范本质上就是一种ORM规范,注意不是ORM框架--因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服务厂商来提供实现,JBoss应用服务器底层就以Hibernate作为JPA的实现. 既然JPA作为一种规范--也就说JPA规范中提供的只是一些接口,显然接口不能直接拿来使用.虽然应用程序可以面向接口编程,但JPA底层一定需要某种JPA实现,否则JPA依然无法使用. 从笔者的视角来看,Sun之所以提出

SpringData JPA查询分页demo

SpringData JPA 的 PagingAndSortingRepository接口已经提供了对分页的支持,查询的时候我们只需要传入一个 org.springframework.data.domain.Pageable 接口的实现类,指定PageNumber和pageSize即可 springData包中的 PageRequest类已经实现了Pageable接口,我们可以直接使用下边是部分代码: DAO: package com.jiaoyiping.jdjy.sourcecode.dao

SpringData JPA实现CRUD,分页与多参数排序

Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问计数,包括非关系数据库.Map-Reduce 框架.云数据服务等等,SpringData JPA是简化创建 JPA 数据访问层和跨存储的持久层功能,通过一个接口的继承即可实现简单的CRUD. 数据库的连接与项目的构建不说了,可以参考:springboot实战SpringDataJPA.我采用的是eclipse构建的普通的springboot项目. 一.创建表与实体类映射 @Entity @Table(name

尚硅谷springboot学习34-整合SpringData JPA

SpringData简介 SpringData JPA的目的是统一各种关系数据库的操作,底部用了Hibernate对JPA的实现 整合SpringData JPA JPA:ORM(Object Relational Mapping): 1).编写一个实体类(bean)和数据表进行映射,并且配置好映射关系: //使用JPA注解配置映射关系 @Entity //告诉JPA这是一个实体类(和数据表映射的类) @Table(name = "tbl_user") //@Table来指定和哪个数据

JPA、SpringData JPA 、Hibernate和Mybatis 的区别和联系

转自<JPA.SpringData JPA .Hibernate和Mybatis 的区别和联系> 一.JPA 概述 1. Java Persistence API(Java 持久层 API):用于对象持久化的 API 2. 作用:使得应用程序以统一的方式访问持久层 3. 前言中提到了 Hibernate,那么JPA 与 Hibernate究竟是什么关系呢: 1)JPA 是 Hibernate 的一个抽象,就像 JDBC 和 JDBC 驱动的关系 2)JPA 是一种 ORM 规范,是 Hiber

[转帖]JPA和Hibernate到底是什么关系???

JPA和Hibernate到底是什么关系??? https://www.cnblogs.com/mosoner/p/9494250.html (文章借用了其他几篇博客中的内容,因为是初学者,许多概念性的关系自己不能完全理解,就将大神的搬了过来,如有不当,可留言,本人自会妥善处理,谢谢) 在学习框架的过程中,发现学的东西很多,但是感觉他们之间的联系区别都不是很了解,知道JPA可以去实现持久化数据到数据库当中,Hibernate也有这样的功能,总以为他们之间是一种平级的关系,拥有同样的作用,是一种可

【文3】思维模型与底层逻辑摘录

1.思维模型就是对于信息的压缩,是帮助人们理解事物.解决问题的最佳框架.它就是我们大脑中用于做决策以及思考问题的工具箱,有时可能表现为一个用于分析的框架,再如当前手机中的APP.比如:SWOT 分析法 (S=strengths优势.W=weaknesses劣势.O=opportunities机会.T=threats威胁):有时可能表现为一个简短的理论,比如:心理账户理论.在设定工作目标时,我们可以打开一个名为"SMART"(S=Specific具体的.M=Measurable可衡量的.

Neutron与Nova的网络逻辑关系

在开始讲Neutron与Nova的网络关系前,先理解一下Openvswitch是两个模块组件中,特别重要的网络通讯模块了,而Openvswitch主要为管理Linux bridge及接口,了解Linux Bridge是学习Neutron很重要的一部份,下面我带着一个平台中的两个节点(Neutron和Nova)去理解Neutron和Nova的网络逻辑关系: 1.通过以下Vxlan的逻辑图,去理解每个节点中,到底存在些什么组件与接口 2.通过以上图,先从计算节点(Nova)入手,通过使用相关命令去查

JPA一对多和多对一关系

1-m:多的一方为关系维护端,关系维护端负责外键纪录的更新,关系被维护端没有权力更新外键纪录. 维护端注解 Java代码   @OneToMany(cascade = { CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE, CascadeType.REMOVE }, fetch = FetchType.EAGER, mappedBy = "order") 被维护端注解 Java代码   @ManyToOne(casc