java.lang.ClassCastException:org.hibernate.internal.SQLQueryImpl无法转换为java.util.List如何修复

java.lang.ClassCastException:org.hibernate.internal.SQLQueryImpl无法转换为java.util.List如何修复,java,sql,hibernate,exception,Java,Sql,Hibernate,Exception,查询是正确的。如何修复它?您在查询结束时忘记了.list() 应该是这样的 java.lang.ClassCastException: org.hibernate.internal.SQLQueryImpl cannot be cast to java.util.List 有关详细信息,请参阅。查询未返回任何内容,并且您正在尝试将其分配给列表 你应该这样做 ................skill.id where skill.id = 1").list(); List候选者=(List

查询是正确的。如何修复它?

您在查询结束时忘记了
.list()

应该是这样的

 java.lang.ClassCastException: org.hibernate.internal.SQLQueryImpl cannot be cast to java.util.List

有关详细信息,请参阅。

查询未返回任何内容,并且您正在尝试将其分配给列表

你应该这样做

................skill.id where skill.id = 1").list();
List候选者=(List)session.createSQLQuery
(“从候选内部联接中选择候选。*”
candidate.id上的candidate\u skill=candidate\u skill。
应聘者\u id上的内部连接技能
候选人\u skill.skill\u id=skill.id
其中skill.id=1“.list();

你能帮我得到真实的列表吗,现在我得到了对象数组,它由fields@user2645679:您需要循环列表,获取对象[]并基于索引进行查找,索引0表示第一列数据,索引1表示第二列数据等。,将其填充到候选对象。没有更好的解决方案吗?@user2645679:我不知道您何时使用本机SQL。HQL对这种情况有帮助吗?我认为,您可以使用HQL帮助编写此查询。我想得到ListWhy查询,我想推荐criteras。请看一下criterias。
................skill.id where skill.id = 1").list();
 List<Candidate> candidates = (List<Candidate>) session.createSQLQuery
               ("select candidate.* from candidate inner join 
                    candidate_skill on candidate.id = candidate_skill.
                        candidate_id inner join skill on 
                  candidate_skill.skill_id = skill.id 
                                          where skill.id = 1").list();