hibernate的Transaction接口理解

来源:互联网 发布:ddos攻击代码python 编辑:程序博客网 时间:2024/05/26 05:51

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

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

Transaction ts=session.beginTransaction();

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


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();}


0 0