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 符合要求

      }

还没有找到真正的问题所在,目前只能用这种方法了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值