hibernate的Transaction接口理解

Transaction接口是对事物实现的一个抽象,这些实现包括JDBC事务等。Hibernate框架中的事物通过hibernate.cfg.xml文件选择JDBC。在transaction接口中定义了cimmit()和rollback()两个方法,前者是提交事务的方法,后者是回滚事务的方法。

调用Session的beginTransaction() 方法生成一个Transaction实例。

Transaction ts=session.beginTransaction();

一个Session实例可以与多个Transaction实例相关联,但一个特定的Session实例在任何时候必须与至少一个未提交的Transaction实例相关联。

hibernate的Transaction接口理解_第1张图片

try{
		SessionFactory sf=new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
		Session session=sf.openSession();
		Transaction ts=session.beginTransaction();
		Query query=session.createQuery("from UserInfoPO u where u.age>?");
		query.setInteger(0, 20);
		List<UserInfoPO> list=query.list();
		for(int i=0;i<list.size();i++){
			UserInfoPO ui=(UserInfoPO)list.get(i);
			System.out.println(ui.getUsername());
		}
		ts.commit();
		session.close();
		
	}catch(HibernateException e){
		e.printStackTrace();
	}


你可能感兴趣的:(Hibernate,session,transaction)