我更新一让数据的浏览次数字段加1........但是有些时候却发现数据库数据是正确的.但是打印出来的却是Hibernate缓存里面的值
解决方案 »
- 连接数据库时,驱动放置的小问题
- 关于学习汇总的小麻烦!
- 求用到Comparator中int compare(T o1, T o2)的例子
- java.lang.NumberFormatException: null
- hibernate映射问题
- 关于spring session泄漏
- 如何用JMS消息触发应用程序
- 在jbuilder2005中如何配置数据源?如何应用servlet?
- tomcat4与tomcat5版本问题
- 如何改变struts框架默认的字符集?它总自动指定为:ISO-8859-1。
- 急~~一个菜鸟问题~~将一个war发布到web容器中是什么意识?
- TTP Status 404 - Servlet action is not available
test.setBrowsesum(new Integer(test.getBrowsesum().intValue()+1));
Transaction ta = null;
try {
Session session = HibernateSessionFactory.currentSession();
ta = session.beginTransaction();
session.update(test);
ta.commit();
returnValue = true;
} catch (HibernateException e) {
e.printStackTrace();
ta.rollback();
} finally {
HibernateSessionFactory.closeSession();
}
session = HibernateSessionFactory.currentSession();
Transaction tr=null;
List list=null;
try{
tr=session.beginTransaction();//这里加上clear()即可!!!
session.clear(); Query query = session
.createQuery("from TOaForumArticle t order by t.browsesum desc");
query.setMaxResults(5);
list=query.list();
session.flush();
session.clear();
tr.commit();
for(Object itm: list)
{
log.error(((TOaForumArticle)itm).getBrowsesum()+"浏览数是...........................");
}
}catch(Exception ex){
tr.rollback();
ex.printStackTrace();
}
然后再用HibernateSessionFactory.evict(test的类.class)清理二级缓存!
祝你成功!