1
我试图从表格中一次获取n行,但我不知道如何继续。我查看了Criteria API和Restrictions API,但我还没有发现任何类似的东西。那么,在Hibernate中可能吗?是否可以在MySQL中使用?使用休眠条件从表中选择特定范围
该表有一个ID,但是从数据库自动生成,它不是很可靠(我的意思是,可能会有很多来自两个连续ID的缺失数字)。此外,还有一个数据列,所以我可以按升序/降序排列该列的结果。
我试图从表格中一次获取n行,但我不知道如何继续。我查看了Criteria API和Restrictions API,但我还没有发现任何类似的东西。那么,在Hibernate中可能吗?是否可以在MySQL中使用?使用休眠条件从表中选择特定范围
该表有一个ID,但是从数据库自动生成,它不是很可靠(我的意思是,可能会有很多来自两个连续ID的缺失数字)。此外,还有一个数据列,所以我可以按升序/降序排列该列的结果。
您可以使用Hibernate Criteria中的setFirstResult(setFirstRow)和setMaxResults(setNumberOfRecordsTofetchAtaTime)方法。
例
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Example.class);
criteria.setFirstResult(setFirstRow);
criteria.setMaxResults(setNumberOfRecordsTofetchAtaTime);
List<Example> list=criteria.list();
感谢您的回复。 'setFirstRow'是什么意思?例如,假设'setFirstRow = 200'和'setMaxResult = 100',查询返回的行数从200到300? – tigerjack89 2014-12-03 10:08:50
是的,你是对的。 – 2014-12-03 10:16:31
谢谢,我试了一下,然后接受你的答案。我以前见过这种方法,但官方文件很糟糕。例如,在各种情况下应该是什么结果('setFirstRow <= 0','setMaxResult <= 0')? – tigerjack89 2014-12-03 10:45:31