hql语句的in 和 limit 操作替代方法

在MySql中如果想查一个集合的前几条记录. 则使用limit,如:

SELECT * FROM tv_favorite t order by t.createtime limit 10;

 

而我们在DAO层使用HQL语句时,HQL语法检查时是不识别limit的。就会在执行前抛出错误。

替代方法是:

String hql = "select id from EpgFavorite order by createTime";
Query q = this.getSession().createQuery(hql);
q.setFirstResult(0);
q.setMaxResults(10);
q.list()

 

 

关于in操作时,可以

String hql = "delete EpgFavorite where id in (1,2)"
this.getHibernateHelper().executeUpdate(sql, new Object[]{})

 

你可能感兴趣的:(limit)