Play Framework fetch(int max)vs limit

huz*_*yfe 2 jpa playframework

我正在使用Play Framework 1.2.4.在模型类中,我们找到了具有许多选项的方法.例如:

List<Cat> cats = Cat.find("query").fetch();
Run Code Online (Sandbox Code Playgroud)

或者我们可以设置最大结果,如:

List<Cat> cats = Cat.find("query").fetch(50);
Run Code Online (Sandbox Code Playgroud)

这相当于

SELECT * from cat LIMIT 50;
Run Code Online (Sandbox Code Playgroud)

我只是想确保在性能方面它们至少相同?如果不是在Play Framework 中获得最后的最佳方式是n records什么?

Sam*_*uel 5

fetch(50)内部使用javax.persistence.Query.setMaxResults.这将由Hibernate转换为LIMIT或者TOP,取决于DB方言.因此,就性能而言,它们是相同的.

所以去取最新的n只猫,

List<Cat> cats = Cat.find("order by age").fetch(50);
Run Code Online (Sandbox Code Playgroud)