JPA多條件查詢


Page<AoaQuestionHeader> findAll(Specification<AoaQuestionHeader> spec, Pageable pageable);
List<AoaQuestionHeader> headerPage = questionHeaderDao.findAll(new Specification<AoaQuestionHeader>(){
    @Override
public Predicate toPredicate(Root<AoaQuestionHeader> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> list = new ArrayList<Predicate>();
if (!typeId.equals(0L)){
list.add(cb.equal(root.get("typeId").as(Long.class),typeId)) ;
}
if (!groupId.equals(0L)){
list.add(cb.equal(root.get("groupId").as(Long.class), groupId)) ;
}
if (!leaderId.equals(0L)){
list.add(cb.equal(root.get("leaderId").as(Long.class), leaderId) );
}
Predicate[] p = new Predicate[list.size()];
return cb.and(list.toArray(p));
}
}, new PageRequest(page,size , sort));




List<AoaQuestionHeader> findAll(Specification<AoaQuestionHeader> spec);

List<AoaQuestionHeader> hlist = questionHeaderDao.findAll(new Specification<AoaQuestionHeader>(){
    @Override
public Predicate toPredicate(Root<AoaQuestionHeader> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> list = new ArrayList<Predicate>();
if (!typeId.equals(0L)){
list.add(cb.equal(root.get("typeId").as(Long.class),typeId)) ;
}
if (!groupId.equals(0L)){
list.add(cb.equal(root.get("groupId").as(Long.class), groupId)) ;
}
if (!leaderId.equals(0L)){
list.add(cb.equal(root.get("leaderId").as(Long.class), leaderId) );
}
Predicate[] p = new Predicate[list.size()];
return cb.and(list.toArray(p));
}
});





這么個意思,自己的筆記看不懂勿用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM