1、多表查询
实体类增加:
JPA注解:@Transient 指定实体的非持久字段或属性
JPA 持续性提供程序不会对批注为 @Transient 的属性或字段持久保存(或创建数据库模式)。
该批注可以与 @Entity 、@MappedSuperclass 和 @Embeddable 一起使用。
该批注没有属性
2、CriteriaBuilder 的like ,greaterThanOrEqualTo,lessThanOrEqualTo
public Predicate toPredicate(Root<User> root,
CriteriaQuery<?> query, CriteriaBuilder cb){
//like
if(!StringUtils.isEmpty(objA)) {
Path p = root.get("attrA");
predicateList.add(cb.like(p,"%"+objA+"%"));
}
//日期 >=开始时间,<=结束时间
if(null != obj.getCreateTimeStart()){
Path p = root.get("createTime");
predicateList.add(cb.greaterThanOrEqualTo(p, obj.getCreateTimeStart()));
}
if(null != obj.getCreateTimeEnd()){
Path p = root.get("createTime");
predicateList.add(cb.lessThanOrEqualTo(p, obj.getCreateTimeEnd()));
}
}