Hibernate 返回单个值查询

Query q = session.createQuery("select count(*) from table");
Integer i = (Integer)q.uniqueResult();
 
  这样就可以了,要确保你的hql语句只返回一个对象,否则调用uniqueResult() 会有异常
 
1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。

2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭

Query query = this.getSessionFactory().getCurrentSession().createSQLQuery(sb.toString());
return query.list().size();
 
当上面一个抛出 异常时 可以尝试用下一个:
 
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
return session.createQuery(hql).executeUpdate();

猜你喜欢

转载自luochaobin.iteye.com/blog/2384064