spring data jpa 分页查询怎么实现

 我来答
逢古娇3381
2017-03-21 · TA获得超过116个赞
知道小有建树答主
回答量:692
采纳率:0%
帮助的人:307万
展开全部
private long userId;

private String content;

private String image;

private String smallImage;

private int supportCount;
private int unSupportCount;

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "yuLu")
private Set<YuLuComment> items = new HashSet<YuLuComment>();
}

@Entity
@Table(name="TB_JSJGlobal_YuLuComment")
public class YuLuComment {

@Id
@GeneratedValue
private long id ;
private long userId ; // 哪个用户发表的语录
private String comment ;
private String userName ; // 评论用户的名字

// optional=true:可选,表示此对象可以没有,可以为null;false表示必须存在
@ManyToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE }, optional = true)
@JoinColumn(name = "yulu_id")
private YuLu yuLu;
}

// 对语录评论进行保存
@Override
public Page<YuLuComment> findYuLuComment(long yulu_id, int page,
int pageSize) {
// 设置查询相关
Sort sort = new Sort(Direction.DESC, "id");
Pageable pageable = new PageRequest(page, pageSize, sort);
Specification<YuLuComment> spec = new UpcomingConferences(yulu_id);
return yuLuCommentDao.findAll(spec, pageable);
}

// 创建评论的分页条件
private class UpcomingConferences implements Specification<YuLuComment> {
private long yulu_id;
public UpcomingConferences(long yulu_id) {
this.yulu_id = yulu_id;
}
@Override
public Predicate toPredicate(Root<YuLuComment> root,
CriteriaQuery<?> query, CriteriaBuilder cb) {
//左连接
Join<YuLuComment,YuLu> depJoin = root.join(root.getModel().getSingularAttribute("yuLu",YuLu.class),JoinType.LEFT ) ;
Predicate p = cb.equal(depJoin.get("id").as(Long.class), yulu_id);
return p;
}
}

2014年9月01日 12:41
endual
1
0 0 9
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式