项目使用的是jboss jbpm开源工程,spring+tomcat+hibernate的架构
现在出现数据刷新和取值的问题
现象如下:
当用户1创建一条数据以后,用户2登录访问该数据,往往会出现用户2查询该数据(已经写入数据库中),多刷新几次页面就能出现
然后解决方案为
(1)根据bug的现象,可能是由于jsp页面或者是html调用了页面缓存,因此先禁止这些页面缓存
  <HEAD>       
  <META   HTTP-EQUIV="Pragma"   CONTENT="no-cache">       
  <META   HTTP-EQUIV="Cache-Control"   CONTENT="no-cache">       
  <META   HTTP-EQUIV="Expires"   CONTENT="0"> (2)在(1)的情况下,如果还出现数据的问题,应该是程序中查询的问题
(a)hibernate缓存
hibernate分一级缓存和二级缓存
(I)一级缓存是不可避免的,其实就是session的,可以对session进行操作,在每次查询数据的前面设置一下
//刷新一级缓存区的内容,使之与数据库数据保持同步
session.flush();
//将一级缓存中的所有持久化对象清除,释放其占用的内存资源 
session.clear();
//获取一个新的数据库连接
session.reconnect();
(II)二级缓存是可以禁止的,在hibernate.cfg.xml中加入<property name="hibernate.cache.use_query_cache">false</property> 
但是还是会出现按ID去查询数据的时候,出现数据为空的现象,但是数据库中已经有该数据了
现在都陷入迷茫中了,请教各位大侠了