Hibernate限制结果查询

Gan*_*row 7 java hibernate

hibernate查询的maxresult属性如何工作?在下面的例子中:

Query query = session.createQuery("from MyTable");
query.setMaxResults(10);
Run Code Online (Sandbox Code Playgroud)

这是否从数据库获取所有行,但只显示其中的10行?或者这与limitsql中的相同.

Boz*_*zho 11

它是相同的LIMIT,但它与数据库无关.例如,MS SQL Server没有LIMIT,因此hibernate会负责翻译它.对于MySQL,它附加LIMIT 10到查询.

因此,始终使用query.setMaxResults(..)query.setFirstResult(..)不是本机sql子句.