System.out.println(Integer.MAX_VALUE);

2147483647

INT 还真大呢

也就是说设置成

setFirstResult(214748364)

也不会出错了?

你想形成LIST之前读取数据? hibernate里提供了一个近似的方法
String sql=".....";
Iterator it = session.iterate(sql);
while(it.hasNext()){
it.next();//首数据对象
}