我用java插入一个路径如E:\a\b\c.jsp
用hibernate执行插入不会过滤掉字符'\'合结果column value为:E:\a\b\c.jsp  这个是正常的。
而用查询分析器执行插入会过滤掉'\'。使结果的column value为:E:abc.jsp
高手请赐教,是不是我应该关闭mysql的某种过滤功能?

解决方案 »

  1.   

    "\"是转义字符啊。忘了啊?在mysql里面也是这样啊。所以你想插入上面的记录,就要写成E:\\a\\b\\c.jsp .
    之所以用hibernate插入就不用这么做,是因为hibernate已经为你做了处理了,如果你写的是E:\\a\\b\\c.jsp ,那么它就不会给你做转义替换,如果你写的是E:\a\b\c.jsp, hibernate会为你做一步处理,变成E:\\a\\b\\c.jsp ,这样再到mysql就可以转义为E:\a\b\c.jsp插入了。
      

  2.   

    用两个\进行转义,E:\\a\\b\\c.jsp就OK