问题描述
public List<News> getPageData(int startIndex, int pageSize) {Query q = HibernateSessionFactory.getSession().createQuery("from News n order by n.postTime desc");q.setFirstResult(startIndex);q.setMaxResults(pageSize);List<News> news = q.list();return news;}我通过这个方法查询分页,然后在action中将结果设入request.attribute();但是我在新闻列表中删除一条记录,然后刷新页面,还是显示原来的列表。这是怎么回事呢,是缓存问题吗,(s2sh) 问题补充:public List getListForPage(final int offset, final int length) {List list = getHibernateTemplate().executeFind(new HibernateCallback() {public Object doInHibernate(Session session)throws HibernateException, SQLException {Query query = session.createQuery("from News n order by n.postTime desc");query.setFirstResult(offset);query.setMaxResults(length);List<News> news = query.list();return news;}});return list;}用这个就可以了,不过为什么呢
解决方案
删除之后需要redirect到getPageData,并且你上面的写法是有问题的,session没有关闭,补充问题写法是没问题的。
解决方案二:
应该是没有重新加载一遍.你是不是按F5刷新的? 试下按Ctrl + F5刷新.
解决方案三:
你删除之后应该重新加载一下分页数据,这样就能保证每次都是最新的数据了。
解决方案四:
查一下数据库里这条记录有没有删除先