用Hibernate给MYSQL分页的“真”与“假”

来源:百度知道 编辑:UC知道 时间:2024/05/28 15:09:22
用Hibernate给MYSQL分页的“真”与“假”,不知道这是真与假,以前我用JDBC

分页用到SQL语句,用到limit.

public List pageQuery(int pageSize, int pageNow) {
Session session = null;
List list = new ArrayList();

try {
session = HibernateSessionFactory.getSession();
session.beginTransaction();

// 得到每页显示的LevTwoInFuUser的对象的集合list
list = session
.createQuery(
"from UserInfo u order by u.createTime")
.setFirstResult(pageNow * pageSize - pageSize)
.setMaxResults(pageSize).list();
session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
} finally {
session.close();
}
return list;
}

你说的有点片面,你用到limit只是mysql会用到,如果是oracle或者sql server那么sql语句就不一样了,使用hibernate或者ibatis的原因在于它是持久层对象化框架,他可以自动适应数据库,hibernate如果你告诉他分页,他会根据当前数据库来翻译分页语句

当然是真的了

啥啊?hibernate根据方言,自动选择limit和rownum