java - 通过分页获取子数据

标签 java hibernate pagination

我的用户类包含通过 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;

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

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

来自示例

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

谁能指导我该怎么做?

最佳答案

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

关于java - 通过分页获取子数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32229918/

相关文章:

java - 将 JTextField 文本存储到数组中并求和 - Java

java - Vaadin - 拆分面板内选项卡内文本区域的高度

postgresql - Hibernate 和 PostgreSQL - 序列以 -46 开头

ios - UITableView 在像 Facebook 应用程序一样滚动到底部时加载更多

java - 如何为 Java Swing 按钮制作 ActionListener

java - invokeAny 是取消线程池中的所有线程还是仅取消可调用线程?

jquery - 限制分页中可见页面的数量

database - 使用 ROWNUM 的 Oracle 数据库问题

java - 当运行时异常发生时,JPA如何处理提交

java - Spring Integration : javax. persistence.TransactionRequiredException:没有事务正在进行