Hibernate DAO 层事务提交处理备忘

备忘是希望自己不要忘记了。以后还可以拿出来玩玩

@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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值