通过分页获取子数据

时间:2015-08-26 14:51:10

标签: java hibernate pagination

我的User类包含通过OneToMany关系的用户帖子。

@Entity
@Table(name = "user")
public class User implements Serializable {

@OneToMany(mappedBy="user")
    @Fetch(FetchMode.SELECT)
    private Set<Post> post;

    public Set<Post> getPost() {
        return post;
    }

发布课程

@Entity
@Table(name = "post")
public class Post implements Serializable {

@ManyToOne
    @JoinColumn(name = "user_id")
    private User user;

它还包含其他几个具有其他关系的子类。 假设特定的loggedIn用户包含n个帖子。 我需要通过分页来获取帖子getPost()

我在网上看到的examples将类名作为参数[code below]。如果我将User类作为参数提供它将从我相信的数据库中对用户进行分页。我只需要为特定的loggedIn用户分页getPost()方法的结果。

来自示例

Criteria criteria = session.createCriteria(Foo.class);
criteria.setFirstResult(0);
criteria.setMaxResults(pageSize);
List<Foo> firstPage = criteria.list();

任何人都可以指导我该怎么做?

1 个答案:

答案 0 :(得分:1)

您应该为Post实体编写查询,并在此查询中使用当前用户作为参数。