Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不按任何顺序使用Hibernate setFirstResult_Java_Hibernate_Hibernate Criteria - Fatal编程技术网

Java 不按任何顺序使用Hibernate setFirstResult

Java 不按任何顺序使用Hibernate setFirstResult,java,hibernate,hibernate-criteria,Java,Hibernate,Hibernate Criteria,我刚开始冬眠。我对criteria的setFirstResult方法感到困惑。 从文档中可以看出,hibernate从给定的数字返回行 由于SQL查询不能保证没有order by子句的行的顺序, setFirstQuery在这种情况下如何工作(没有orderBy子句)? hibernate是否从数据库读取索引信息 如果我多次执行同一个SQL查询,排序可能会改变,在这种情况下,setFirstResult如何工作?您的任务是添加一个order by,您注意到,如果在同一组数据上执行多次,函数将无法

我刚开始冬眠。我对criteria的
setFirstResult
方法感到困惑。 从文档中可以看出,hibernate从给定的数字返回行

由于SQL查询不能保证没有order by子句的行的顺序,
setFirstQuery
在这种情况下如何工作(没有orderBy子句)? hibernate是否从数据库读取索引信息


如果我多次执行同一个SQL查询,排序可能会改变,在这种情况下,
setFirstResult
如何工作?

您的任务是添加一个order by,您注意到,如果在同一组数据上执行多次,函数将无法保证相同的结果。
setFirstResult
通常用于分页。

除非底层数据库支持,否则Hibernate无法自行完成某些操作。因为Hibernate查询最终只能转换为
Sql

说到这里,它使用了底层数据库功能,比如PostgresSQL和MySQL,它将生成类似
limit?偏移量?

您可以使用
addOrder

.addOrder( Order.asc("name") )

这里关于“默认情况下,它将按主键排序”的部分不准确。Hibernate不添加隐式排序,返回结果的顺序完全取决于底层数据库。我知道PostgreSQL和MySQL使用了Limit和offset,但如果没有它们,Oracle数据库会使用什么?