java吧 关注:1,230,343贴子:12,693,266
  • 7回复贴,共1

struts2+hibernate根据用户名查询对象

只看楼主收藏回复

我想根据action传过来的用户名查询出一个对象 获取到对象的密码和页面输入的密码是否一样 然后登陆成功 Action这样写的
String hql = "select a from Admin a where a.username=:name";
Admin user = adminDao.findUnique(hql, admin.getUsername());
hibernate实现方法这样写的
public T findUnique(String hql, Object... paramValues) {
// TODO Auto-generated method stub
Session session=HibernateUtil.getSessionOpen();
Transaction tx=session.beginTransaction();
T t=(T) session.createQuery(hql).setString("name", (String) paramValues[0]);
tx.commit();
System.out.println(t);
return t;
}
但是一直提示我无法转换类型 我该怎么写呢


IP属地:天津1楼2013-01-18 16:38回复
    首先你的思路就有问题。。。。你有取得用户输入的帐号和密码,然后以此为条件查询数据库 看是否有符合的数据 这样来判断 是否正确


    2楼2013-01-18 16:51
    收起回复
      只针对你的代码来看,你都返回了一个T,为何不直接用泛型呢?然后在通过泛型得到返回的类型。你现在的方法就相当于两个不相干的类直接强转肯定不成的。
      List list = session.createQuery(hql).addEntity(Admin .class).setString("name", (String) paramValues[0]).list();
      这样你得到的是一个admin的**,返回**中的第一个就是你要的


      IP属地:北京3楼2013-01-18 17:48
      回复