Hibernate查询类强制转换异常

Hibernate查询类强制转换异常,hibernate,Hibernate,我有两个表主题和成员。成员包括创建主题的成员 主题具有成员的内部映射 以下HQL查询在Hibernate编辑器中工作 select m from Topic as t inner join T.Members m where t.title = 'World News' 当涉及到实现的Java端时 Object o= session.createQuery("select m.username,m.membergroup from Topic as t inner

我有两个表主题和成员。成员包括创建主题的成员 主题具有成员的内部映射

以下HQL查询在Hibernate编辑器中工作

    select  m from Topic as t inner join T.Members m where t.title = 'World News'
当涉及到实现的Java端时

    Object o= session.createQuery("select  m.username,m.membergroup from Topic as t inner
              join t.members m  where t.title = '"+topicTitle+"'");
    Members members=(Members)o;
例外情况:

    INFO: HHH000397: Using ASTQueryTranslatorFactory
    java.lang.ClassCastException: org.hibernate.internal.QueryImpl cannot be cast to 
    phase.util.db.hbm.object.Members
    at phase.testdevel.ScheduleJob.getMemberDetails(ScheduleJob.java:312)
    at phase.testdevel.ScheduleJob.main(ScheduleJob.java:364)

我是Hibernate新手。非常感谢您的帮助。谢谢您的帮助。createQuery提供了一个查询对象,您必须调用列表,以获取
成员列表

将代码更改为:

 Query o= session.createQuery("select  m.username,m.membergroup from Topic as t inner
              join t.members m  where t.title = '"+topicTitle+"'");
    List<Members> members=o.list();
    if (members != null && members.size()>0){
       return members.get(0);
    } else {
       return null;
    }
Query o=session.createQuery(“从主题中选择m.username,m.membergroup作为t内部
加入t.m,其中t.title=“+topicTitle+””);
列表成员=o.List();
if(members!=null&&members.size()>0){
返回成员。获取(0);
}否则{
返回null;
}

谢谢你的回答。Select确实会返回一个列表。但是查询对象没有getList()方法。list也没有getSize()方法。我更改了Hibernate查询以获取答案,然后在Select查询中调用了list()。@Sher抱歉我的错误。我换了工作。