spring data jpa查询问题?

加文哥 2017-11-23 11:54:52
各位大神:
小弟刚学jpa ,我这里是多表查询,分页,模糊查询,动态查询,当我把查询条件封装到querySpecifi对象中,在到里不知道怎么使用querySpecifi对象,望大神指点!
service层:
Specification querySpecifi = new Specification<CrawlerConten>(){
@Override
public Predicate toPredicate(Root<CrawlerConten> root, CriteriaQuery<?> criteriaquery,
CriteriaBuilder criteriabuilder) {
List<Predicate> predicates = new ArrayList<>();
if(userId!=-1){
predicates.add(criteriabuilder.equal(root.get("publishid"), userId));
}
if(keyword!=null&&!keyword.equals("")){
predicates.add(criteriabuilder.like(root.get("title"), "%"+keyword+"%"));
}
return criteriabuilder.and(predicates.toArray(new Predicate[predicates.size()]));
}
};
Page<CrawlerConten> page = contentDao.findByPublishid(querySpecifi, pageable);


dao层:
@Query("SELECT gc.id as id,gc.publishid as publishid,gc.contentId as contentId,gc.gpId as gpId,gp.gpName as gpName,c.title as title,c.content as content,c.contentPath as contentPath,c.contentType as contentType,c.label as label,gc.publishDate as publishDate FROM GpContent gc,Gp gp,Content c where gc.gpId = gp.id and gc.contentId = c.id ")
Page<CrawlerConten> findByPublishid(Specification querySpecifi,
Pageable pageable);
...全文
94 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧