我有一个检查用户有效性的功能,如下所示:
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不太专业,因此不知道查询将返回什么以及如何测试它。即使输入用户名密码,但不存在于DB中,它也会返回true
。我甚至不确定hql查询是否正确。
请帮助。
答案 0 :(得分:1)
尝试
if (null != result && result.size() != 0) {
}