JPA学习

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()));
}

}

原文地址:https://www.cnblogs.com/bonnie-lbn/p/5158080.html