Java hibernate select查询的结果列表不会转换到相应的bean类

Java hibernate select查询的结果列表不会转换到相应的bean类,java,mysql,hibernate,Java,Mysql,Hibernate,以下查询是由hibernate生成的 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,

以下查询是由hibernate生成的

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;
当我将select查询的结果列表强制转换到beanclass时,会得到一个强制转换异常

java.lang.ClassCastException
请确定哪里出了问题以及如何解决

我正在使用Java反射

//函数初始化select查询

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;

}

您似乎没有在查询中使用任何结果转换器(例如
aliastobeansulttransformer
)。因此,由于它使用投影列表,因此您的查询将返回一个
列表
。Hibernate无法知道它必须返回bean类的实例。您可以将
列表
转换为明确需要的内容,或者使用结果转换器。

显示您的代码。我们甚至不知道HQL查询是什么样子。More-info-needed-mode:ON:)至少发布堆栈跟踪当我使用group BY时会发生此错误这很明显,看到了生成的查询。发布您的代码和异常堆栈策略,否则您将不会得到太多帮助…:)java.lang.ClassCastException位于com.mavenir.data.migration.Transformers.SimpleTransformer.transform(SimpleTransformer.java:49)的java.lang.Class.cast(未知源代码)处com.mavenir.data.migration.Migrator.Migrator.Migrator(Migrator.java:56)位于com.mavenir.data.migration.DataMigrator.main(DataMigrator.java:44i尝试使用transformer…但现在我在使用getmethod.invoke方法getmethod=inputBean.getGetterMethod(propertyName1);Object retObj=getmethod.invoke(inputObj,新对象[0])时遇到nullPointer异常);这里有人能帮我吗?…???请告诉我如何消除NullPointerException异常异常的消息会告诉您发生异常的确切位置。它在您的代码中,而我们没有。我们可以如何帮助?