HttpSession session = request.getSession();
Session s = HibernateUtil.currentSession(); //得到连接
LoginForm loginForm = (LoginForm) form; String sort = loginForm.getSort();
String username = loginForm.getUsername();
String password = loginForm.getPassword();
int loginSort = Integer.parseInt(sort); String[] userlist = new String[2];
userlist[0] = username;
userlist[1] = password; try {
HibernateUtil.beginTransaction();//开始事物
String str = new String();
switch (loginSort) {
case 1:
str = " from Student as stu where stu.name=:stuName and stu.password=:stuPassword";

Query query = s.createQuery(str);
//System.out.println(username + "  " + password);
query.setString("stuName", username);
query.setString("stuPassword", password);
System.out.println(str);
if (query.list().size() > 0) {
session.setAttribute("stuid", ((Student) query.list().get(0)).getId());
s.close();
return mapping.findForward("studentLoginsuccess");
} else
break;

解决方案 »

  1.   

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse - Hibernate Tools
    -->
    <hibernate-mapping>
        <class name="com.stuman.domain.Student" table="student" lazy="false">
            <id name="id" type="string">
                <column name="id" length="32" />
                <generator class="assigned" />
            </id>
            <property name="name" type="string">
                <column name="name" length="32" />
            </property>
            <property name="password" type="string">
                <column name="password" length="32" />
            </property>
            <property name="jiguan" type="string">
                <column name="jiguan" length="32" />
            </property>
            <property name="department" type="string">
                <column name="department" length="32" />
            </property>
            <property name="sex" type="string">
                <column name="sex" length="32" />
            </property>
            <property name="" type="integer">
                <column name="" />
            </property>
            <property name="tel" type="string">
                <column name="tel" length="32" />
            </property>
            <property name="phone" type="string">
                <column name="phone" length="32" />
            </property>
            <property name="email" type="string">
                <column name="email" length="32" />
            </property>
            <set name="enrols" inverse="true">
                <key>
                    <column name="stu_id" length="32" />
                </key>
                <one-to-many class="com.stuman.domain.Enrol" />
            </set>
        </class>
    </hibernate-mapping>
      

  2.   

    请仔细检查student表中的phone列有没有错误
      

  3.   

    你可以把语句:
       str = " from Student as stu where stu.name=:stuName and stu.password=:stuPassword";
    换成:
      str = " from Student as stu where stu.name="+username+" and stu.password="+password;
    另外:
       你Loginform   loginform=(Loginform)form;
         loginform.getSort();
         是做什么的;
      

  4.   

    ERROR org.hibernate.util.JDBCExceptionReporter  - Unknown column 'student0_.phone' in 'field list' 
      

  5.   

    查查数据库里的字段,是不是phone这个字段写错了