昨天应用升级后发现一个奇怪的现象:
页面中的一个查询,第一次查询时结果只显示一条,但是下面显示的总记录数和页数都是正确的,再次刷新后就正常了。但是升级前没发现过这种问题,本次更新也没有修改过任何与该模块相关的代码,在测试环境也没发现过这个问题~~~应用部署的环境:RathatLinux+Weblogic9.2+Oracle 10.2
应用框架是Struts+Spring+Hibernate

解决方案 »

  1.   

    不晓得楼主用的什么分页方案
    一般都采用分页bean:提取的分页记录总数、页码和分页结果集没关系
    建议楼主打印下结果集相关,看看是个什么情况,如果打印出错,是DAO的事,否则可能是jsp页面问题我的资源里有个javabean分页源码,注释的相当详细,下载后即可使用。有需要的朋友可以去看看
      

  2.   

    分页是用我们自己封装的Tag,感觉应该跟分页没有关系,后台日志HQL解析出的SQL拿到数据库执行也是没有问题的,而且开发环境、测试环境都未出现过这种现象,只在生产环境(用了集群、F5做负载均衡)才发现,而且升级前也是好的~~~~都不晓得该从哪下手了
    呃没看明白咋回事的可以直接登录http://bk.183.com.cn/这个网站随便输入个关键字,如“军事”然后点“检索”,会发现只有一条记录显示,但是总记录数显示有19条,条件不变再点一次“检索”结果又正常了
      

  3.   

    是不是用的ie6的浏览器,建议升级到ie7,可能是ie6对页面缓存处理方面的bug。
    这只是一种可能,lz可以试一下。
      

  4.   

    问题还没解决,上次更新加了点日志,发现Service层取出来的List就是只有一条的,但是总记录数却没有问题而且现在在别的模块也发现了有这种情况
      

  5.   

    hibernate的order好象有个BUG,如果order by的字段如时间字段在记录中有多条相同的话,返回的结果集会出现莫名其妙的错误。
    解决方法是在"order by XXX "后面加上“,XXid”。
    看一下是不是这个bug。
      

  6.   

    谢谢回复!呃。我的order by里没有时间字段,只是用过to_number、substr的函数
      

  7.   


    没开新帖啊,还是上次的帖子自己顶上来而已,问题没解决嘛~~~~~因为测试环境都没有问题的,只是在生产环境中出问题(不晓得跟集群有关系没?),所以要等下次升级才能看到加的一些用来Debug的日志
      

  8.   


    我只是打个比方看清楚“如”这个字
    如果to_number函数返回的值有很多一样的话,也会出现这个错误的
      

  9.   

    今天有同事去现场了,debug跟踪的分页参数都没有问题,初步怀疑是Oracle的oci驱动问题,现在都是用oci方式连数据库的,改成thin方式之后问题就没了,不过我没想明白为什么~~~