0

我需要的是在类列表中添加“分页”。乙:

A级
  清单 B

所以我需要将 B 的列表限制为某个值

我正在做的是(使用标准,而且都是动态的):

ICriteria 标准 = Session.createCriteria();

ICriteria criteriaParcial = criteria.CreateCriteria("B");

criteriaParcial.SetFirstResult(0).SetMaxResults(10);

标准列表();

这是一个例子,真正的代码都是动态的和迭代的。

此机制可用于查找过滤值,但不适用于分页。

任何想法?坦克

更新!!!

此方法不起作用,因为此方法执行criteria.CreateCriteria("B").setMAxResults(10)修改为根标准而不是我想的 subCriteria。

所以我现在的建议是。可以限制或分页,类内的列表?

像这样:我有一个带有地址列表的 Person 类,所以我想加载一个 Person,但只有地址列表中的两个第一个对象。

4

1 回答 1

0

这是不可能的AFAIK。但无论哪种方式,这种方法都是错误的。最好加载根实体数据,并在另一个查询中加载子列表,这样您就可以根据需要进行分页过滤和排序。

列表属性不是为了显示得好,它们只是包含对象列表以及它们的作用。这就是为什么创建另一个仅返回这些项目的查询是最佳方法的原因。

您可以使用 Future<> 查询来提高数据库性能。

于 2012-06-29T15:20:41.613 回答