今天我在测试自己写一个软件,碰到了这样一个问题:我本地数据库中有个database A,它里面的数据还是前段时间的数据,数据没有更新,测试软件不够用。
于是我就从远端数据库中导出.sql,然后在本地新建了一个database B,将新的数据导入进去。然后将
<property name="url" value="jdbc:mysql://localhost/A?useUnicode=true&amp;characterEncoding=iso-8859-1&amp;zeroDateTimeBehavior=convertToNull"></property>改成了
<property name="url" value="jdbc:mysql://localhost/B?useUnicode=true&amp;characterEncoding=iso-8859-1&amp;zeroDateTimeBehavior=convertToNull">
</property>为什么测试的时候查出来的数据是A中呢?我也做了这样一个测试,我将本地的database A 删了,然后在新建一个database ,也命名为A ,再讲远端的.sql导入进来,这样测试就可以了。我不明白这是为什么。是不是hibernate 配置哪里还要修改什么的。就是不明白问题出在哪里。。忘高手指点指点,谢谢。

解决方案 »

  1.   

    遇到这种问题最好重启mysql或者其它什么东西,有可能有缓存
      

  2.   

    重启过tomcat了?最好把tomcat的缓存文件也清了
      

  3.   

    HIBERNATE是持久层  有缓存的  因为他的作用是  减少和数据库的交互  所以本身存了很多东西  
      

  4.   

    服务重启了的,但是不行。可能要重新部署。我的解决问题的时候,mysql有重启。不过下次遇到我会往这些方面去思考了。
      

  5.   

    一周发现了该问题的出处:在hibernate.hbm.xml中有指定了数据库,呵呵。