备忘是希望自己不要忘记了。以后还可以拿出来玩玩
@Repository
@Transactional
public class CommonDAO extends HibernateBaseDao<Object, Long> {
@SuppressWarnings("rawtypes")
public List queryByQLList(String hql) throws Exception {
List list = new ArrayList();
try {
list = this.find(hql);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public void saveEntity(A a) {
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
session.merge(a);
session.flush();
try {
tx.commit();
} catch (Exception e) {
tx.rollback();
e.printStackTrace();
}
session.close();
}
}
@Repository
@Transactional
为什么写这两个注解。请自学一下。
分页查询
public List<QSRentalOrder> queryByHQLPage(String hql, int pagesize,
int pageNum) {
Query query = this.createQuery(hql);
query.setFirstResult(pageNum);
query.setMaxResults(pagesize);
@SuppressWarnings("unchecked")
List<QSRentalOrder> list = query.list(); // 得到每页的数据
return list;
}
然后就是事务提交的步骤。实际上我记不住这么多步骤。
知识补充:
1.getCurrentSession 与 openSession() 的区别:
openSession()这里已经介绍了:需要手动的关闭;
可以参阅这篇博客http://blog.csdn.net/loveyout/article/details/4193894