2014-03-31 215 views
0

我有一個函數來檢查用戶的有效性如下:返回類型

public boolean authenticate(String username, String password) { 

    try { 
     session = HibernateUtil.getSessionFactory().openSession(); 
     session.beginTransaction(); 

     String hql = "FROM LoginC L where L.userName=:uname and L.password=:pwd"; 
     Query query = session.createQuery(hql); 
     query.setParameter("uname", username).setParameter("pwd", password); 

//I am not sure how to proceed/check here? 
     List<LoginC> result = null; 
     result = query.list(); 
     if (null != result) { 
      validUser = true; 
     } else { 
      validUser = false; 
     } 

    } catch (HibernateException he) { 
     System.out.println("error authenticating "+username+" "+he.getMessage()); 
    } finally { 
     if (session != null) { 
      session.close(); 
     } 
    } 
    return validUser; 
} 

我不是等HQL專家,因此不知道該查詢將返回什麼,我怎麼能測試它。即使輸入用戶名密碼,數據庫中不存在,它也會返回true。我甚至不確定hql查詢是否正確。 請幫忙。

回答

1

嘗試

if (null != result && result.size() != 0) { 

}