1.通过Configuration config = new Configuration().configure();
//读取并解析hibernate.cfg.xml配置文件
2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>
读取并解析映射信息
3.通过SessionFactory sf = config.buildSessionFactory();
//创建SessionFactory
4.Session session = sf.openSession();
//打开Sesssion
5.Transaction tx = session.beginTransaction();
//创建并启动事务Transation
6.persistent operate操作数据,持久化操作
7.tx.commit();//提交事务
8.关闭Session
9.关闭SesstionFactory
Configuration 类负责管理 Hibernate 的配置信息。
• Hibernate运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库 Dialect,
数据库连接池等(对应 hibernate.cfg.xml 文件)。
•持久化类与数据表的映射关系(*.hbm.xml 文件)
创建 Configuration 的两种方式
• 属性文件(hibernate.properties):
Configuration cfg = new Configuration();
• Xml文件(hibernate.cfg.xml)
Configuration cfg = new Configuration().configure();
第二种创建方式较为常见。Hibernate.cfg.xml文件默认的目录为系统的根目录。
Configuration对象根据当前的配置信息生成 SessionFactory 对象。
SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息(SessionFactory 对象中保存了
当前的数据库配置信息和所有映射关系以及预定义的SQL语句。同时,
SessionFactory还负责维护Hibernate的二级缓存)。
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
l 是线程安全的。
l SessionFactory是生成Session的工厂:
Session session = sf.openSession();
l 构造SessionFactory很消耗资源,一般情况下一个应用中只初始化一个SessionFactory对象。
l 在Hibernate中,Transaction tx = session.beginTransaction()相当于给数据库操作起
事务。Session.commit()则为提交事务。
Hibernate的整个运行过程如下:
1、应用程序先调用Configuration类,该类读取Hibernate配置文件及映射文件中的信息,
2、并用这些信息生成一个SessionFactory对象,
3、然后从SessionFactory对象生成一个Session对象,
4、并用Session对象生成Transaction对象;
A、可通过Session对象的get(),load(),save(),update(),delete()和saveOrUpdate()等方法
对PO进行加载、保存、更新、删除、等操作;
B、在查询的情况下,可通过Session对象生成一个Query对象,然后利用Query对象执行查询操作;
如果没有异常,Transaction对象将提交这些操作到数据库中。