在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[]{})