我用HIBERNATE 进行用户登陆验证 如果用户名密码都正确就把该对象存到session中 但是取user的权限属性值时 老是是:257 而我数据库中的值是001 数据库中权限字段用的是tinyint类型 请高手指点session=HibernateUtils.getSession(); session.beginTransaction();
Query query=session.createQuery("from Userinfo as u where u.username=:username and u.pwd=:password");
query.setParameter("username", lf.getUsername());
query.setParameter("password", lf.getPassword());
List result=query.list(); if(result.size()==0){
str="用户存在或密码错误";
request.setAttribute("str", str);
}else{
Userinfo user=(Userinfo)result.get(0);
request.getSession().setAttribute("user", user);
System.out.println("用户ID是"+user.getUsername());
System.out.println("用户权限是"+user.getPower());
打印结果是:
用户ID是bbb
用户权限是257正确结果应该是 用户ID是bbb
用户权限是1
Query query=session.createQuery("from Userinfo as u where u.username=:username and u.pwd=:password");
query.setParameter("username", lf.getUsername());
query.setParameter("password", lf.getPassword());
List result=query.list(); if(result.size()==0){
str="用户存在或密码错误";
request.setAttribute("str", str);
}else{
Userinfo user=(Userinfo)result.get(0);
request.getSession().setAttribute("user", user);
System.out.println("用户ID是"+user.getUsername());
System.out.println("用户权限是"+user.getPower());
打印结果是:
用户ID是bbb
用户权限是257正确结果应该是 用户ID是bbb
用户权限是1
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货