Specifications动态查询
JpaSpecificationExecutor方法列表:
T findOne(Specification
List
//查询全部,分页
//pageable:分页参数
//返回值:分页pageBean(page:是springdatajpa提供)
Page
//查询列表
//Sort:排序参数
List
//统计查询
long count(Specification
- Specification:查询条件
- 自定义我们自己的Specification实现类
讲师对学员:一对多关系
实体类中的关系
包含关系:
继承关系
分析步骤
多对多
/*
配置用户到角色多对多关系
配置多对多关系
1.声明表关系的配置
@ManyToMany(targetEntity = Role.class)//多对多
targetEntity:代表对方实体类字节码
2.配置中间表(包含两个外键)
@JoinTable
name:中间表的名称
joinColumns:配置当前对象在中间表的外键
@JoinColumn的数组
name:外键名
referencedColumnName:参照的主表的主键名
inverseJoinColumns:配置对方对象在中间表的外键
*/
分析步骤
- 明确表关系
- 确定表关系(描述 外键 | 中间表)
- 编写实体类,再实体类中描述表关系(包含关系)
- 配置映射关系
多表的查询
- 对象导航查询
- 查询一个对象的同时,通过此对象查询他的关联对象
从一方查询多方:
默认使用延迟加载
从多方查询一方:
默认使用立即加载