当前位置: 代码迷 >> J2EE >> hibernate 登陆
  详细解决方案

hibernate 登陆

热度:8549   发布时间:2013-02-25 21:38:56.0
求助hibernate 登陆
 public boolean findByNameAndPassword(Person person) {
 boolean result = true;
Transaction tx = null;
 SessionFactory sf = this.sessionFactory;
 Session session = sf.getCurrentSession();
 try{
 tx = session.getTransaction();
tx.begin();
 
Query q = session
      .createQuery("select person(id) from person where username=:username and password=:password");
    q.setString("username",person.getUsername());
    q.setString("password", person.getPassword());
    if (q.list().isEmpty()) 
     result = false;
    }

    tx.commit();
    
 } catch (Exception e) {
e.printStackTrace();
if (tx != null && tx.isActive()) {
try {
// Second try catch as the rollback could fail as well
tx.rollback();
} catch (HibernateException e1) {
e1.printStackTrace();
}
}

}
              return result;

}

我想在 ssh上从数据库上的信息登陆 但是query感觉写的有问题  
表是 person [id username password]
想返回一个result =true; 感觉query那写的不对 求指教
list判断是否为空最好用两种方式结合即:null!=q.list()&&q.list().size() != 0
  相关解决方案