我需要的是在一个类的列表中添加“分页”。 EJ:
Class A List B
所以我需要将B列表限制为特定值
我正在做的是(使用标准,它都是动态的):
ICriteria criteria = Session.createCriteria(); ICriteria criteriaParcial = criteria.CreateCriteria("B"); criteriaParcial.SetFirstResult(0).SetMaxResults(10); criteria.list();
这是一个例子,真正的代码是动态的和迭代的。
此机制可以查找过滤值,但不能查找分页。
任何想法? 罐
已更新!
这种方法不起作用因为这个方法执行criteria.CreateCriteria("B").setMAxResults(10)
按照我的想法修改为根标准而不是subCriteria。
所以现在我的猜测是。可以限制或分页一个类中的列表吗?
这样的东西:我有一个带有地址列表的Person,所以我想加载一个Person,但只加载地址列表中的两个第一个对象。
答案 0 :(得分:0)
AFAIK不可能。但无论如何,这种方法都是错误的。最好加载根实体数据,并在另一个查询中加载子列表,这样就可以根据需要对过滤器进行分页和排序。
列表属性不是为了显示好,它们只是包含一个对象列表以及它们的作用。这就是为什么创建另一个只返回那些项的查询是最好的方法。
您可以使用Future<>查询以提高数据库性能。