定义了一个类
public class User{
         private String userName;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}
定义一个方法 
public User loginUser(String username, String password){
return (User) this.getSession().createQuery("select u from User u where u.userName=?")
.setParameter(0, userName).uniqueResult();
}这个方法返回了一个User 对象 问:
用 if(User==null) 判断 没有查到结果么

解决方案 »

  1.   

    select u from User u where u.userName=?  你把userName给个值去查数据库能查到么?
      

  2.   

    去数据中看看,到底有没有你要求的数据存在看看传进来的userName是不是有值.setParameter(0, userName) 这第一个参数是从0开始的?记不清了
      

  3.   

    肯定是有值传进来的情况下 
     数据库中有 正确值  test   test
     当我 页面分别输入为 test   test
                        test   ssss
                      ssss   ssss
                       空     sss
                     ssss      空
    时 User user 
    中的 user 的值分别分什么  
      

  4.   

    ("select u from User u where u.userName=?") 这个语句对么?执行这个语句到数据库中能够查出数据来么?
      

  5.   

    看一下这个方法createQuery如果返回的是一个Object,那么
    你if(User==null) 这么判断就可以了
      

  6.   

    ........返回的是一个 User 类嘛 说的很清楚了
      

  7.   

    .setParameter(0, userName) 这第一个参数是从1开始的,改成.setParameter(1, userName).
      

  8.   

    setParameter(0, userName).uniqueResult(); 
    这里错了,不是从0,设置参数是从1开始的~