一.Configuration
作用:
用于扫描Hibernate的全局配置文件,创建SessionFactory对象工厂
方法
configure:扫描配置文件,如果使用了configure的无参方法,Hibernate全局配置文件的名字强制为 hibernate.cfg.xml
buildSessionFactory:获取一个SessionFactory工厂对象
Configuration config = new Configuration();
SessionFactory sessionFactory = config.buildSessionFactory();
二.SessionFactory
作用:
获取操作数据库的Session对象
方法:
getCurrentSession:获取一个绑定当前项目进程的Session对象,可以使当前项目下每次获取的Session对象都保持引用一个内存,如果使用的该方法则需要在全局配置文件里添加hibernate.current_session_context_class属性,属性值为thread
openSession:获取一个全新的Session对象,每次获取的Session对象都是新创建的不会引用一个内存
session = sessionFactory.getCurrentSession();
三.Session
作用:
操作数据库并且获取事务处理Transaction对象
方法:
save:保存记录同时将实体对象的状态从瞬时状态转换为持久状态
delete:将实体对象的状态从持久状态转换为瞬时状态
close:关闭session对象同时将实体对象的状态从持久状态转换为托管状态
update&saveOrUpdate:将实体对象的状态从托管状态转换为持久状态
delete:删除记录同时将实体对象的持久状态转换为瞬时状态
get:查询记录并且将查询到的记录转换为持久状态
beginTransaction:获取事务管理对象
Transaction tx = session.beginTransaction();
Person person = session.get(Person.class, 2);
四.Transaction
作用:
控制数据库的事务
方法:
commit:提交事务
rollback:回滚事务
tx.commit();
tx.rollback();