java.lang.NoClassDefFoundError
com.test.struts.DbOperate.getUser(DbOperate.java:17)
com.test.struts.action.RegistAction.execute(RegistAction.java:45)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)public class DbOperate {
/**
 * 根据用户名得到用户对象
 */
public AdminUser getUser(String name)throws HibernateException{
Session session=HibernateUtil.currentSession();               //第十七行
AdminUser user=null;
Transaction tx=null;
try{
tx=session.beginTransaction();
Query q=session.createQuery("from AdminUser where username=:name");
q.setParameter("name",name);
List list=q.list();
if(!list.isEmpty())
user=(AdminUser)list.get(0);
tx.commit();
}catch(HibernateException e){
if(tx!=null)
tx.rollback();
throw e;
}
session.close();
return user;
}
......................
HibernateUtil.java是没有问题的.
hibernate的xml映射文件:
....
    <class name="AdminUser" 
            table="adminuser">       
         <id name="id">
                 <generator class="increment"/>
         </id>
        <property name="username"/>
        <property name="password"/>
</class>
.....
不知道错在哪?

解决方案 »

  1.   

    但我只是改了一下hibernate的xml映射文件喔,表与类的映射.以前是可以运行的
    在线等ing....
      

  2.   

    会不会是   <class name="AdminUser"  > name 忘记了加包名啊。
      

  3.   

    <class name="AdminUser"  table="adminuser">        
        <id name="id" column="id" type="java.lang.Integer"> 
             <generator class="increment"/> 
        </id> 
             <property name="username" column="username" type="java.lang.String"/> 
             <property name="password" column="password" type="java.lang.String"/> 
    </class>你没有指定java文件中的属性对应的字段名,一般也要加上类型的....