I am getting userId from database using HQL in my DAO class.But when itried to set it in session , it is giving null pointer exception . here is the code in DAO class.
@Repository("loginDAO")
public class LoginDAOImpl implements LoginDAO{
@Resource(name="sessionFactory")
protected SessionFactory sessionFactory;
HttpServletRequest request;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public Session getSession(){
return sessionFactory.openSession();
}
public boolean checkLogin(String userName, String userPassword) {
Session session=sessionFactory.openSession();
boolean userExist=false;
String sql_query="from Users as o where o.userName=? and o.userPassword=?" ;
Query query=session.createQuery(sql_query);
query.setParameter(0, userName);
query.setParameter(1, userPassword);
List list=query.list();
if((list.size()>0) && (list!=null)){
userExist=true;
//TO get the user id to insert into orders table
Users user=null;
user=(Users) query.list().get(0);
Long id=user.getId();
System.out.println("Id is "+ id);
**//This is giving Null Pointer
request.getSession().setAttribute("id", id);**
}
session.close();
if(userExist==false){System.out.println("user name or password wrong");}
return userExist;
}
}
i am sure that id has value. Thanks in advance.