【问题标题】:Select a specific range from table using hibernate criteria使用休眠条件从表中选择特定范围
【发布时间】:2014-12-03 07:47:18
【问题描述】:

我正在尝试从表中一次获取 n 行,但我不知道如何继续。我查看了 Criteria api 和 Restrictions api,但没有找到类似的东西。那么,在 Hibernate 中有可能吗?在 MySQL 中是否有可能?

该表有一个 ID,但它是从数据库中自动生成的,它不是那么可靠(我的意思是,两个连续的 ID 中可能有很多缺失的数字)。此外,还有一个数据列,所以我肯定可以按此列按升序/降序对结果进行排序。

【问题讨论】:

    标签: mysql hibernate


    【解决方案1】:

    您可以在 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 = 200setMaxResult = 100,查询返回200到300行?
    • 谢谢,我试了一下,然后接受你的回答。我以前见过这种方法,但官方文档很烂。比如各种场景(setFirstRow &lt;= 0setMaxResult &lt;= 0)应该是什么结果?
    • 如果 SetFirstRow
    • 再次感谢。您如何获得这些信息?我没有在官方文档中阅读过类似的内容。
    猜你喜欢
    • 2017-04-17
    • 2011-07-03
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多