JPA findAll分页查询连表查询
实体类TaskWorkEntity
@Entity
@Data
@Accessors(chain = true)
@Table(name = "task_work")
public class TaskWorkEntity extends BaseEntity {private Long id;// EcTaskEntity 关联关系 唯一字段private String ecTaskSerial;private String taskWorkName;/*** 当使用JPA配置实体时,如果有两个属性(一个是一般属性,一个是多对一的属性)映射到数据库的同一列,就会报错。* 这时,在多对一的@JoinColumn注解中添加insertable = false, updatable = false就能解决。*/@ManyToOne@JoinColumn(name = "ecTaskSerial", insertable = false, updatable = false)private EcTaskEntity ecTaskEntity;}
实体类EcTaskEntity
@Entity
@Data
@Accessors(chain = true)
@Table(name = "ec_task")
public class EcTaskEntity extends BaseEntity {private String serial;private String ecTaskName;}
关联关系EcTaskEntity一对多TaskWorkEntity
下面是分页查询
import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Sort;Page<TaskWorkEntity> page;Sort sort = Sort.by(Sort.Direction.DESC, "createTime");Pageable pageable = PageRequest.of(currentPage , pageSize, sort);PageResultModel pageModel = new PageResultModel();try {page = taskWorkRepository.findAll((root, query, cb) -> {List<Predicate> predicates = new ArrayList();if (StringUtils.isNotBlank(status)) {Join<EcTaskEntity, TaskWorkEntity> join = root.join("ecTaskEntity", JoinType.LEFT);predicates.add(cb.equal(join.get("status"), status));}if (StringUtils.isNotBlank(serial)) {predicates.add(cb.like(root.get("serial"), "%" + serial + "%"));}predicates.add(cb.equal(root.get("isDelete"), 0));Predicate[] arrayPredicates = new Predicate[predicates.size()];return cb.and(predicates.toArray(arrayPredicates));}, pageable);} catch (Exception e) { }
JPA findAll分页查询连表查询相关推荐
- python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)...
一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出 ...
- [亲测]Oracle查询--单表查询,连接查询(一)
ORACLE查询(单表查询,连接查询) 一.单表查询 (一)简单条件查询 1. 查询水表编号为 30408 的业主记录 ( 精确查询 ) select * from t_owners where wa ...
- 数据库的实例化操作——员工信息的查询——简单表查询(二)
员工信息的查询--简单表查询(二) 表信息查看 -->表信息 简单查询 查询所有的职位 select distinct job from emp; 查询出来的job是所有人的职位,用 ...
- SQL数据查询——单表查询(二)
集合查询+单表查询相关实例 集合查询 1.UNION 2.INTERSECT 3.EXCEPT 相关实例 实例1 实例2 集合查询 SQL SERVER集合操作主要包括 并操作 UNION 交操作 I ...
- 数据库一对多做链接去重_数据库单表查询-多表查询
""" 1.字段修改 alter modify alter change alter add ''|first|after alter drop 2.表关系: 一对一:外 ...
- day44 数据库单表查询-多表查询
目录 复习 今日内容 单表查询 连表查询 复习 """ 1.字段修改alter modifyalter changealter add ''|first|afteralt ...
- vue+node多条件查询 分页_SpringBoot+JPA框架分页、带条件查询等操作
前言 最近研究JPA框架,初学SpringBoot时也简单学过,但是不是很深入,所以这次主要是说一些进阶且常用.实用的操作! 前置准备 创建两张表或者让JPA自动建表,任意选择!学生表 package ...
- MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询
第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑 ...
- group by 分页 mysql_Mysql 单表查询-排序-分页-group by初识
Mysql 单表查询-排序-分页-group by初识 对于select 来说, 分组聚合(((group by; aggregation), 排序 (order by** ), 分页查询 (limi ...
- MP之自定义分页,多表查询带分页带条件(Error evaluating expression ‘ew.customSqlSegment‘.或 Invalid bound statement)
一.问题 前端所需数据: 但成绩表中只有考生的id及试卷的id,此时就需要进行多表查询,通过考生的id获取姓名字段,通过试卷的id获取试卷名称.分别需要使用到三张表,成绩表,试卷表,考生表.同时需要做 ...
最新文章
- 世界一流大学真的建成了?26所“985”高校自评报告出炉
- linux下rpm包和命令使用简介
- 如何调整ABAP程序的性能
- ie8不发送ajax,IE8用ajax访问不能每次都刷新的问题
- UML该元素的行为为基础的元素
- java list集合增删改_Java中集合类list的增删改查
- 工作汇报ppt案例_【赠书】开工大吉!今年一定要干过写PPT的!
- 记录Linux下彻底删除MySQL以及启动MySQL之后使用密码登录提示报ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost
- Mac Big Sur如何更改锁屏时间
- oracle增量和全量的区别,ORACLE全备份和0级增量备份的区别
- JS中浅拷贝和深拷贝的使用,深拷贝实现方法总结
- Struts + Spring + Hibernate 进阶开端(一)
- java 新项目计划_项目计划 - KerryJava - 博客园
- 三阶交调截取点的测量
- Windows下NexusPHP搭建PT站过程
- 运行Rundll.exe
- Java程序员月薪三万的技术达到什么程度?
- MS PROJECT 下载
- RCD钳位电路--选管
- matplotlib中cmap_Matplotlib:imshow中cmap的功能是什么?