小弟在ORACLE上写了个SQL,用HIBERNATE取出来
SQL的大体形式如下
select type,... from (select ‘业务流程’ as type ,... from aa001 )
我在子查询中写死了个字符串常量"业务流程" 
可是我在HIBERNATE程序中取出来那个字段,只能取出‘业’那一个字,其他的不能取出
可是我在SQL PLUS中都可以查出‘业务流程’ 那四个字
这个是为什么呢 ,能否在数据库层面上解决呢 ,请各位大哥大姐,救救小弟我吧

解决方案 »

  1.   

    什么是HIBERNATE?关注 学习 顶
      

  2.   

    估计是你前台java程序定义接收type这个值的变量长度太小.
      

  3.   

    SQLPLUS可以查出但是HIBERNATE中取得值不正确应该是HIBERNATE那层的问题。
      

  4.   

    HIBERNATE定义变量的xml文件里,是不是type定义的长度不对
      

  5.   

    可是我在SQL PLUS中都可以查出‘业务流程’ 那四个字
    ============================================
    说明数据库没错。可是我在HIBERNATE程序中取出来那个字段,只能取出‘业’那一个字,其他的不能取出
    =======================================
    说明HIBERNATE这里的输出显示有问题。比如输出字段的长度是否定义太小了。
      

  6.   

    可能是字符集问题吗?http://topic.csdn.net/t/20030710/20/2014176.html
      

  7.   

    数据层面的问题应该不大。
    你可以更改数据调试一下,比如 把select '业务流程' type ,.... from  
    换成 select '测试内容' type,... from 
    看看结果如何。还有,尽量避免使用type 等这样的关键字或保留字。
      

  8.   

    Hibernate 不是很熟,关注中