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

}

posted on 2016-01-25 17:34  bonnielai  阅读(152)  评论(0编辑  收藏  举报