hibernate oracle char character 只查出一个字符

canca canca
2010-03-20 00:54
1
0
  1. public List queryTradeConfirmBusinFlag() {   
  2.         final String sql = "select C_BUSINFLAG, C_BUSINNAME from tbusinflag";   
  3.            
  4.         return (List) getHibernateTemplate().execute(new HibernateCallback() {   
  5.             public Object doInHibernate(Session session) throws HibernateException {   
  6.                 Query query = session.createSQLQuery(sql);   
  7.                    
  8.                 List<InitBusinFlag> list = query.list();   
  9.                 Iterator iter = list.iterator();   
  10.                 list = new ArrayList<InitBusinFlag>();   
  11.                    
  12.                 while(iter.hasNext()) {   
  13.                     Object[] obj = (Object[])iter.next();   
  14.                     InitBusinFlag businFlag = new InitBusinFlag();   
  15.                     businFlag.setBusinFlag(obj[0].toString());   
  16.                     businFlag.setBusinName(obj[1].toString());   
  17.                     list.add(businFlag);   
  18.                 }   
  19.                 logger.debug("读取交易确认查询交易类型数据成功...");   
  20.                 return list;   
  21.             }   
  22.         });   
  23.     }  

C_BUSINFLAG 只能查出一个字符来

C_BUSINFLAG 在oracle数据库中是char(2)类型

改成final String sql = "select cast(C_BUSINFLAG as varchar2(2)), C_BUSINNAME from tbusinflag";

OK

发表评论