Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/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中不工作的特定数量的记录_Java_Hibernate - Fatal编程技术网

Java 正在获取在Hibernate中不工作的特定数量的记录

Java 正在获取在Hibernate中不工作的特定数量的记录,java,hibernate,Java,Hibernate,我有一个包含1000条记录的表 我需要一次提取100条记录,因此我在hibernate标准中使用了setFetchSize,如下所示(Deal是实体对象) 它给出了1000条记录,而不是100条记录 我遗漏了什么吗?使用setMaxResults和setFirstResult来获取下一条记录 更新 从java.sql.Statement#setFetchSizejavadoc: 给JDBC驱动程序一个提示,告诉它应该包含的行数 在需要更多行时从数据库中提取 ResultSet此语句生成的对象。

我有一个包含1000条记录的表

我需要一次提取100条记录,因此我在hibernate标准中使用了
setFetchSize
,如下所示(
Deal
是实体对象)

它给出了1000条记录,而不是100条记录


我遗漏了什么吗?

使用
setMaxResults
setFirstResult
来获取下一条记录

更新

java.sql.Statement#setFetchSize
javadoc:

给JDBC驱动程序一个提示,告诉它应该包含的行数 在需要更多行时从数据库中提取
ResultSet
语句生成的对象。
如果指定的值为零,则忽略提示。
默认值为零


使用
setMaxResults
setFirstResult
获取下一条记录

更新

java.sql.Statement#setFetchSize
javadoc:

给JDBC驱动程序一个提示,告诉它应该包含的行数 在需要更多行时从数据库中提取
ResultSet
语句生成的对象。
如果指定的值为零,则忽略提示。
默认值为零

你将需要

Fetch size是一种JDBC优化,而不是对执行的查询的限制。有关
setFetchSize()
setMaxSize()
的更多信息,以及这两种方法如何为您协同工作。

您将需要


Fetch size是一种JDBC优化,而不是对执行的查询的限制。有关
setFetchSize()
setMaxSize()
的更多信息,以及这两者如何协同工作,请参见。

使用
setMaxResults(100)
将获取的行数限制为100

使用
setMaxResults(100)
将获取的行数限制为100

那么setFetchSize有什么用呢?可能是我对setFetchSize的理解有误吗?你能告诉我吗?那么setFetchSize有什么用呢?可能是我对setFetchSize的理解有误吗?你能告诉我吗?
 List<Deal> dealList= sess.createCriteria(Deal.class).setFetchSize(100).list();
System.out.println("no. of deals "+dealList.size());