本帖最后由 mahongcai 于 2009-12-03 11:06:29 编辑

解决方案 »

  1.   

    不清楚,hibernate查询语句的发出时受dialect控制的吧。我只知道如果数据库在linux上的话要注意大小写的问题。
      

  2.   

    也许,你的windows和linux用的是不同版本的mysql服务器。然后查询的方式有这么点区别?
    其实这个对你不重要,你可以去看看设计模式里的适配器模式,你不用关心这个实现,只要它返回给你正确的值就行。怎么去对应数据库生成合理的语句,那是hibernate和jdbc驱动的事情。
      

  3.   

    谢谢回复。1.连的mysql都是同一台服务器。
    2.我用的是mysql数据库,如果他把sql语句换成||那就不是连接字符串了。所以结果肯定不对。
      

  4.   

    连的mysql都是同一台服务器?
    服务器有存在liux和window两个系统?
    应该是你的数据库问题,或者你连接的不是相同的数据库
      

  5.   

    我可以很肯定的高速你,连的mysql是同一台机器,同一个数据库,因为项目是我直接copy到tomcat上的。数据肯定都一样。只是输出的sql变了。
      

  6.   

    jdbc.url=jdbc:mysql://127.0.0.1/iv3pm?useUnicode=true&characterEncoding=gbk 
    我想问你的是,既然是同一个数据库服务器,那为什么用这个ip地址?还是发帖的时候改过来了?
    如果是这个ip地址的话,那你应该是两个数据库才对,一个在windows上跑,一个在linux上跑。
      

  7.   

    我发帖时改的, IP是不一样的。上面只是连接的例子,而且就算数据库不是一个,hibernate也不应该去改sql语句把?
      

  8.   

    我想问为什么hibernate会自动变更hql语句以适合当前的数据库?    有什么属性可以更改不让他自动变吗?