public ExpMenu findUserByNameAndPass(String username , String pass)
    {
        String[] args = {username , pass};
        List ul = getHibernateTemplate().find("from ExpEmp au where au.username = ? and au.password = ?" , args);
        if (ul.size() == 1)
        {
        
         List list= getHibernateTemplate().find("from ExpMenu em inner join " +
         "ExpAut aut on (aut.id=em.id)" +
         "inner join ExpRole er on(er.id=aut.id)" +
         "inner join ExpEmp ee on(ee.id=er.id) where ee.username= ?",username);
         return (ExpMenu)list.get(0);
        }
        return null;
    }
似乎if里面出了大问题,希望大家给看看,
                                       跪谢~!!

解决方案 »

  1.   

    if里面怎么弄那么复杂?直接把ul中那个对象返回去就行了撒,里面包含了那个对象的所有属性了嘛
      

  2.   

    如果ul为空就会报空指针错误啦。
    if (ul.size() == 1)建议改为if(ul != null && ul.size() == 1)List list= getHibernateTemplate().find("from ExpMenu em inner join " +
    "ExpAut aut on (aut.id=em.id)" +
    "inner join ExpRole er on(er.id=aut.id)" +
    "inner join ExpEmp ee on(ee.id=er.id) where ee.username= ?",username);
    同样可能为空,所以list.get(0)的时候也可能会出现空指针的异常还有就是遇到什么问题了,说清楚撒!如果有错误信息一起贴出来