Java 在hibernate中从查询检索结果不起作用

Java 在hibernate中从查询检索结果不起作用,java,hibernate,classcastexception,Java,Hibernate,Classcastexception,我仍然是Hibernate的新手,正在尝试从一个简单的SELECT查询中检索结果。然而,我一直收到一个ClassCastException。有人能告诉我我做错了什么吗 代码如下: public Wo getWoById(int id) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); List<Wo> re

我仍然是Hibernate的新手,正在尝试从一个简单的SELECT查询中检索结果。然而,我一直收到一个ClassCastException。有人能告诉我我做错了什么吗

代码如下:

public Wo getWoById(int id) {
    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();
    List<Wo> result = (List<Wo>) session.createQuery("from Wo where woid = " + id);

    if (result!=null && result.size()==1) 
        return result.get(0); 
    else return null;
}
public Wo getWoById(内部id){
会话会话=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List result=(List)session.createQuery(“来自Wo,其中woid=“+id”);
if(result!=null&&result.size()=1)
返回结果get(0);
否则返回null;
}
…以及错误消息:

Exception in thread "main" java.lang.ClassCastException:   
org.hibernate.internal.QueryImpl cannot be cast to java.util.List
at implDAO.WoImplDAO.getWoById(WoImplDAO.java:16)
at logic.Logic.deleteWo(Logic.java:72)
at nl.hanze.funda.admin.main.Main.<init>(Main.java:20)
at nl.hanze.funda.admin.main.Runner.main(Runner.java:16)
线程“main”java.lang.ClassCastException中的异常: org.hibernate.internal.QueryImpl不能转换为java.util.List 位于implDAO.WoImplDAO.getWoById(WoImplDAO.java:16) at logic.logic.deleteWo(logic.java:72) 位于nl.hanze.funda.admin.main.main.(main.java:20) 位于nl.hanze.funda.admin.main.Runner.main(Runner.java:16)
session.createQuery()
返回查询。它不会返回结果列表。您忘记执行查询:

List<Wo> result = (List<Wo>) session.createQuery("from Wo where woid = " + id)
                                    .list();

请将查询更改为

List<Wo> result = (List<Wo>) session.createQuery("from Wo where woid = " + id).list() 
List result=(List)session.createQuery(“来自Wo,其中woid=“+id”).List()

啊,我明白了。谢谢你的帮助:)
return ((Wo) session.get(Wo.class, id));
List<Wo> result = (List<Wo>) session.createQuery("from Wo where woid = " + id).list()