在内存中拥有大量实体(如 1500 个或更多)是一种很好的做法



我有一个JPA实体(EclipseLink)正在开发一个带有JSF 2的Web应用程序。假设我有这个:

private String table;
    @OneToMany(mappedBy = "NodeTypeID")
    private Collection<NodeEntity> nodeEntityCollection;

该集合非常大,因为当然,数据库中表中的行很多。我不会在网络上显示所有这些实体,因为...你不能这样做,对于一个网页来说太过分了。所以我将集合限制为 150 个对象。

在 +1,000 个实体已经在内存上之后,我将其限制为,所以我想制作所有这些实例的过程必须很慢。所以,我只想知道,在这种情况下你会怎么做?只需查询即可带来我想要的 150 个实体?有注释吗?让这个过程就这样是一种好的做法吗?

在休眠标准中,有几种方法可以处理分页,即一次检索 150 行,客户端必须跟踪您正在查看的页码并将其发送到服务器。在服务器中存储 1500 行对于短时间来说通常不是什么大问题。

 setFirstResult(i*PAGE_SIZE)
 setMaxResults(PAGE_SIZE)

编号 : http://docs.jboss.org/hibernate/envers/3.6/javadocs/org/hibernate/Criteria.html#setMaxResults(国际)

相关内容

最新更新