Hibernate不支持常量字符串列的查詢 問號

最近碰到一個問題,如下:
我用hibernate框架封裝dao層,現在有一條select語句:
select   userid, 'User_type ' as utype, usertype   from   user   where   userid= '001 ';
這條語句在數據庫工具中運行是沒有問題的,但是在程序中就有問題了,查詢出來的常量字符 'User_type ',這部分只顯示U,即常量字符的第一個字符。
實現程序如下:

        String sql = "select   userid, 'User_type ', usertype   from   user   where   userid= '001 ' ";
        Session session   =   SessionFactory.getSession();
        Query   query   =   session.createSQLQuery(sql);
        Iterator   it   =   query.list().iterator();
        while (it.hasNext()){
                 Object[]   objects=it.next();
                 System.out.println(String.valueOf(objects[1]));//本來應該輸出User_type   但是實際上是打印出U
        }

 

調試了一天也沒整出個道道來,麼有辦法,只能換個方法實現了:

      Connection conn = session.connection();

      Statement  stmt  = conn.createStatement();

      ResultSet rs =  stmt.executeQuery(sql);

      while(rs.next){

               String str = rs.getString("UTYPE");//打印出來User_type 符合要求

      }

還沒有找到真正的問題所在,目前只能用這種方法了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章