I checked the information on the Internet. The reason is that when pagination is used, the query result is empty, but pagination is also set, so an error will be reported.
There are two solutions:
Scheme 1, add conditions under paging code
public static List<?> getList(Session session , String HQL , int currentPage, int pageSize){
Query q = session.createQuery(HQL);
if(currentPage != 0 && pageSize != 0 && q.list().size()!= 0)
{
int startRow = (currentPage-1)*pageSize;
q.setFirstResult(startRow);
q.setMaxResults(pageSize);
}
List<?> list = q.list();
//Return search results
return list;
}
The if condition is that when the query result is empty, there will be no pagination, so no error will be reported.
Scheme 2: add this sentence to the hibernate configuration file
<property name="jdbc.use_scrollable_resultset">false</property>