eclipse 动态web项目 用hibernate 处理数据库操作 mysql 数据库A客户端电脑 通过项目 提交数据保存到数据库 
在B客户端电脑 无法直接访问到 那条A客户端提交保存的数据 , 除非B客户端 也提交一个数据保存到数据库后 才能看到A 客户端提交的数据为什么 有什么办法做到 事实数据的更新

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【gaoxjj】截止到2008-07-15 08:45:26的历史汇总数据(不包括此帖):
    发帖的总数量:5                        发帖的总分数:220                      每贴平均分数:44                       
    回帖的总数量:4                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:5                        结贴的总分数:220                      
    无满意结贴数:3                        无满意结贴分:140                      
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:60.00 %               无满意结分率:63.64 %                  
    敬礼!
      

  2.   

    用flush
    否则只是在缓存里,没有进行数据库同步
      

  3.   

    去人以下 A客户端提交保存的数据,在数据库中存在了吗
    是不是忘记写commit代码了B客户端电脑 用的是什么来访问 A客户端提交保存的数据
      

  4.   

    最后要commit 这么多星星 呵呵!!!
      

  5.   

    我确认提交到了数据库 我直接用 mysql的 工具查看是能查看的 我也确定 commit  了哦
      

  6.   

    用get等方式来获取数据的话,可能是你保存的时候没有添加到缓存你可以在get之前加上sess.refresh(YourObject); 
      

  7.   

    在B客户端电脑 无法直接访问到 那条A客户端提交保存的数据 , 除非B客户端 也提交一个数据保存到数据库后 才能看到A 客户端提交的数据 为什么 有什么办法做到 事实数据的更新 如果你都commit了 那你不是又两条相同的数据吗?
    如果又主键的话 那不就会报错吗?
      

  8.   

    你问题怎么可能出现呢,如果你连的是同一个数据库的话那么数据肯定有就是你的B页面没有刷新啊.你把这个页面设成定时刷新不就行了.或者用ajax让他显示的部分区域刷新,如果你在这个页面还是更改等按钮,那说明在设计就有问题,时时更新的页面最好只显示信息别的什么也不干,如果你想更改可以有一个按钮,转到其它页去添加什么的.然后这个页就可以设成多长时间一刷新了,不会影响其它的.
      

  9.   

    既然数据库里头已经有数据了,那问题应该出在B客户端的动作,也就是查询有问题。查询之前对session进行clear一下试试看呢。
      

  10.   

    我还会出现这样的现象 就是 
    一个 hibernate web项目 用 tomcat 发布了  在服务器 B上
    比如昨天早晨我用 A电脑 用IE 访问了项目 之后 提交了一条数据 比如说是工作日志 以日期为主键
    到了第二天 也就是今天 我再用A电脑 用同样的方式访问 项目 此时却看不到 昨天我提交的数据 非要 我进行一次 数据库保存操作后 (比如 我提交了今天的工作日志后 )那么昨天我提交的那天工作日志 又能看到了 
    实在是郁闷啦 
    我都不知道 我哪里出了问题
    我确认 commit 了啊
      

  11.   

    你是不是数据 提交 后马上做了一个查询。 
    由于 A 提交数据 后 B 还没有向 服务器 发请求。 所以B 客户段 的数据没有更新 但事实上 数据库中
    应该是有数据的。 当B保存数据的时候 会向服务器发个请求。然后查询数据 这个时候B的数据才会更新。
      

  12.   

    保存之后flush ,commit 一下.
    查询之前对session进行clear一下。
      

  13.   

    我感觉像是hibernate 缓存的问题。看看缓存设置
      

  14.   

    去人以下 A客户端提交保存的数据,在数据库中存在了吗 
    是不是忘记写commit代码了 B客户端电脑 用的是什么来访问 A客户端提交保存的数据 
      

  15.   

    hibernate默认会自动缓存所有查询出来的数据所以如果想避免使用缓存有三种方法:1.查询之前clear一下
       缺点----会清空所有缓存的数据2.查询之后调用session.flush()方法,但是之后必须再调用session.close()方法才能保证数据同步
       缺点----在查询的对象存在集合属性时(一对多),一旦session关闭了,那么在调用集合对象时会抛出session以关闭的异常(一对一时不会)3.query的setCache()方法,设置缓存策略
      

  16.   


    你的浏览器设置里是否将浏览器的Internet临时文件设置为每次都检查访问网页是否更新,而不是自动?