JPA存储过程:hasMoreResults调用多次

时间:2018-01-22 17:33:13

标签: jpa stored-procedures

JPA存储过程查询:

hasMoreResults() 

会转到下一个结果吗?或者它可以被称为许多结果而没有任何影响?

1 个答案:

答案 0 :(得分:1)

简而言之,specification javadoc没有说,所以你不能依赖它。

事实上,在Hibernate上,调用推进了输出指针:

@Override
public boolean hasMoreResults() {
    return outputs().goToNext() && ResultSetOutput.class.isInstance( outputs().getCurrent() );
}

EclipseLink上,hasMoreResults是一个私有字段,在操作访问结果集时会更新。因此,调用hasMoreResults()没有副作用。