在做项目时碰到这个问题: 
数据库一张表,字段分别是:id,name,note,parentId 
数据类型分别是:int,varchar,varchar,int 
所用数据库是mysql 
数据库字符集是utf8 程序所用框架是hibernate3.3.2,spring2.5.6 
jdk1.6_20 
问题是这样子的: 
用junit做单元测试的时候,当要加载的记录包含有数字或全是数字的记录的时候,无论怎样都加载不上来,我可以确定hql语句和生成的sql完成正确,也就是说只能加载中文和英文,但是当我把数据库的数据改掉之后也是加载不上来的(用webyog改的),可以确定已经提交了的,用命令行窗口重新查询确定是已经改过了的数据,也就是说数据有改动也加载不上来 以上情况也不是绝对的,有时连英文都加载不上来,比如用程序新添一条数据也是加载不上来的,不知不觉有时又可以加载上来了 
hibernate的核心包换过3.5.0的,jdk换过1.5的都不行 请各位大虾帮看看是什么问题,如果有什么我没有表达清楚的麻烦指出

解决方案 »

  1.   

    你都确定了 sql没有问题 那和hibernate就没多少关系了吧  去掉hibernate的缓存设置(和你说的似乎一点关系都没有)  更换mysql新版本的 jdbc驱动~。
      

  2.   


    sql我是看控制台打印出来的确定没有问题的,hibernate的二级缓存没有用到,spring里面事务的传播特性我配成这样:
    <tx:method name="*" propagation="REQUIRED"/>
    ,我把mysql的版本换过了,jdbc驱动也换了,数据也都重新生成过好多遍了,问题还是一样的