不太明白为什么只返回X,应该有一条记录啊,列X2008,值X2008

解决方案 »

  1.   

    按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620                                                                                                                                                                                                                                                               
    在那里看看有无能回答你的,谢谢,LZ,甭忘了给俺分哦,谢谢LZ
      

  2.   

    如果这样select  *   from   dual就是 X
    你看看是不是你执行的代码可以发给我们看的代码不一样
      

  3.   

    你的SQL语句String   sql   =   "select   'X2008'   from   dual";   'X2008'是列的名字,不是你想要查的纪录,
    如果想查X2008这条纪录就要这样写  select [列名] from dual where [列名]='X2008'
      

  4.   

    类似的困惑:
    在用原生的sql查一个表的时候,如果这个表的字段是nvarchar 类型。只能返回该字段的第一个字符。如果把nvarchar改为varchar就行了。这是为什么呢?
    String   sql   =   "select  name   from   user";   
    Query   query   =   session.createSQLQuery(sql); 
    List   queryList   =   query.list(); 
    return   queryList; name  是nvarchar的时候只返回名字的第一个字符,当该成varchar后就正常了。为什么呢?我没找到答案.
    ================================================================================
    有兴趣的来我群里讨论 QQ 群:3001581.
      

  5.   

    To :ws010 
    select       'X2008'       from       dual
    就是希望能直接返回X2008
    dual表里,不知道有什么列名真是hibernate的BUG吗?
      

  6.   

    你在建个表 试试,估计大家都不喜欢搭建oracle环境给你做测试呵呵,我机器跑上Oracle就比较卡你建个A表 select 'X2008'  from A
    试试另外你可以在query 指定字段的类型啊。
    多试几种方法
      

  7.   

    在oracle用这条语句查询出来是什么结果啊?
      

  8.   

    加上addScale("colname",Hibernate.String)
    就可以了