我是靠谱客的博主 无聊冰淇淋,最近开发中收集的这篇文章主要介绍第七章Spring-data-jpa扩展之JpaSpecificationExecutor,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
第七章Spring-data-jpa扩展之JpaSpecificationExecutor
不属于Repository体系,实现一组 JPA Criteria 查询相关的方法
Specification:封装 JPA Criteria 查询条件。通常使用匿名内部类的方式来创建该接口的对象
Repository
public interface DeviceRepository extends JpaRepository<Device, Long>, JpaSpecificationExecutor<Device> {
List<Device> findByUserId(Long id);
}
Service
public interface DeviceService {
List<Device> findDeviceByUser(User user);
}
Service实现类
// 根据用户id查找
public Page<Device> findByUser(Pageable pageable, Integer id) {
Specification<Device> specification = new Specification<Device>() {
@Override
public Predicate toPredicate(Root<Device> root,CriteriaQuery<?> query, CriteriaBuilder cb) {
//root.get后跟实体类的属性,与数据库的字段对应
Path<String> id1 = root.get("user");
query.where(cb.equal(id1, id));
//这种方式使用JPA的API设置了查询条件,所以不需要再返回查询条件Predicate给Spring Data Jpa,故最后return null;即可。
return null;
}
};
return sRepository().findAll(specification, pageable);
}
return null;
}
},pageable);
return page.getContent();
}
}
最后
以上就是无聊冰淇淋为你收集整理的第七章Spring-data-jpa扩展之JpaSpecificationExecutor的全部内容,希望文章能够帮你解决第七章Spring-data-jpa扩展之JpaSpecificationExecutor所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复