UserDAO中的找username:public static User findUser(String name) {
try {
User user = (User)getSession().createQuery(
"from User as u where u.username='" + name + "'")
.uniqueResult();
return user;
} catch (HibernateException ex) {
ex.printStackTrace();
return null;
} finally {
if (getSession().isOpen()) {
if (getSession() != null)
getSession().close();
}
}
}Action中的找“XX”用户发生异常public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LogonForm logonForm = (LogonForm) form;
User user = UserDAO.findUser("XX");
if (user != null)
return mapping.findForward("testlogn");
else
return mapping.getInputForward();
}

解决方案 »

  1.   

    User.hbm.xml映射文件的内容发上来看下,很有可能是映射的User类的name写错了<hibernate-mapping>
    <class name="...User" table="user" >
    ....
      

  2.   

    <hibernate-mapping>
        <class name="test.hibernate.User" table="user" catalog="demo">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="native" />
            </id>
            <property name="username" type="java.lang.String">
                <column name="username" length="11" />
            </property>
            <property name="userpwd" type="java.lang.String">
                <column name="userpwd" length="11" />
            </property>
        </class>
    </hibernate-mapping>
      

  3.   

    确认 test.hibernate包下面是否有User类,
    错误信息java.lang.NoClassDefFoundError异常就是指的某某类没有被找到,
    一般在异常信息后面都会提示是具体那一个类没找到.没有导包也是引发这个的异常的主要原因之一
      

  4.   

    也有啊!我的User类就放到这里的