2012-05-29 15 views
-1

冬眠合力休眠选择查询的名单确实让投地被生成下面的查询对应的bean类

Select sum(B.c_rejected_count) as y0_,B.c_date as y1_,B.c_node_site_id as y2_, 
A.c_sccp_addr as y3_ from tb_sccp_addr A inner join tb_dm_sccp_rej_day B on 
A.c_sccp_addr_id=B.c_sccp_addr_fk group by A.c_date, A.c_node_site_id,  
B.c_sccp_addr, B.c_sccp_addr_id ; 

我Beanclass有以下数据:

private Date date; 
private long rejectedCount; 
private int nodeSiteId; 
private String sccpAddress; 

当我投的结果列表选择查询到我的豆类,我得到一个抛出异常

java.lang.ClassCastException 

请确定什么是goi纳克错误,以及如何我使用Java反射

//初始化函数选择查询

private void initializeSelectQuery() 
    { 
     log(Level.DEBUG, "Entering initializeSelectQuery"); 
     Class classname = beanclass.getMappedClass(); 
     crit = hibernateSession.createCriteria(classname); 

       if(group.getAggregate().equals("SUM")) 
     { 
         projectionList.add(Projections.sum(beanDefinition 
       .getPropertyForColumn(group.getColumnName()))); 
      } 
       else 
       { 
        projectionList.add(Projections.groupProperty(beanDefinition 
       .getPropertyForColumn(group.getColumnName()))); 
       } 
        crit.setProjection(projectionList); 
     crit.setMaxResults(10); 
     } 


public List executeSelectQuery() { 
    log(Level.DEBUG, "Entering executeSelectQuery"); 

    List datalist = null; 

    try { 
     tx = hibernateSession.beginTransaction(); 
     if (crit != null) { 
      datalist = crit.list(); 
     } 
     tx.commit(); 

    } catch (MappingException e) { 
     e.printStackTrace(); 
     System.out.println(e.getMessage()); 
    } catch (HibernateException e) { 
     e.printStackTrace(); 
    } 

    log(Level.DEBUG, "Exiting executeSelectQuery"); 
    return datalist; 

} 
+0

向我们显示您的代码。我们甚至不知道HQL查询的样子。 –

+0

更多信息需要模式:ON :)发布您的堆栈跟踪至少 – javatutorial

+0

当我使用组显示为 – deepika

回答

1

似乎你不使用任何结果变压器来解决它

(如AliasToBeanResultTransformer)为您查询。因此,由于它使用投影列表,因此您的查询返回List<Object[]>。 Hibernate没有办法知道它必须返回你的bean类的实例。您可以将List<Object[]>转换为您想要的内容,或者使用ResultTransformer。

+0

我尝试使用变压器...但现在我得到了nullPointer异常,我在哪里使用getmethod.invoke方法getMethod = inputBean.getGetterMethod(propertyName1); Obj ect retObj = getMethod.invoke(inputObj,new Object [0]); – deepika

+0

任何1可以帮助我在这里......?请告诉我如何摆脱nullPointerException – deepika

+0

异常的消息告诉你它到底发生了什么。它在你的代码中,我们没有它。我们怎么帮忙? –