Java HQL:where子句中返回空结果的两个条件

Java HQL:where子句中返回空结果的两个条件,java,spring,hibernate,hql,Java,Spring,Hibernate,Hql,我尝试使用HQL从db中进行选择,条件如下: String hql = "from User u where u.login=? and u.password=?"; Query query = sessionFactory.getCurrentSession().createQuery(hql); System.out.println(query); query.setString(0, u); query.setString(1, p); @SuppressWarnings("uncheck

我尝试使用HQL从db中进行选择,条件如下:

String hql = "from User u where u.login=? and u.password=?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
System.out.println(query);
query.setString(0, u);
query.setString(1, p);
@SuppressWarnings("unchecked")
List<User> listUser = (List<User>) query.list();
System.out.println(listUser);
if (listUser != null && !listUser.isEmpty()) {
    return true;
}

return false;
String hql=“来自用户u,其中u.login=?和u.password=?”;
Query Query=sessionFactory.getCurrentSession().createQuery(hql);
System.out.println(查询);
query.setString(0,u);
query.setString(1,p);
@抑制警告(“未选中”)
List listUser=(List)query.List();
System.out.println(listUser);
if(listUser!=null&&!listUser.isEmpty()){
返回true;
}
返回false;

但我得到的结果是空的。我试着只给出一个条件,然后就是给出正确的结果。(即来自用户u,其中u.login=?)。如何在两个条件下实现这一点?

当您仅将密码作为参数传递时,它是否有效?若并没有,你们是如何将你们的密码存储在你们的数据库中的?是的,当我只传递密码时,它就工作了。他们两个都在工作,但不是两个都在工作。好吧,很抱歉,我不知道。我在我的数据库上和一些用户尝试了同样的方法,效果很好。希望其他人能帮你解决这个问题。我解决了这个问题。谢谢大家问题出在哪里?当你只把密码作为一个参数传递时它能工作吗?若并没有,你们是如何将你们的密码存储在你们的数据库中的?是的,当我只传递密码时,它就工作了。他们两个都在工作,但不是两个都在工作。好吧,很抱歉,我不知道。我在我的数据库上和一些用户尝试了同样的方法,效果很好。希望其他人能帮你解决这个问题。我解决了这个问题。谢谢你怎么了?