Hibernate工作原理
@sunRainAmazing
原理:
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Session
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory
hibernate3的工作原理
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 关闭SesstionFactory
hibernate4的工作原理
1.通过Configuration config = new Configuration().configure();
//读取并解析hibernate.cfg.xml配置文件
2.由hibernate.cfg.xml中的
<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息
3.ServiceRegistry serviceRegistry =
new ServiceRegistryBuilder()
.applySettings(configuration.getProperties())
.buildServiceRegistry();//开启业务注册
4.sessionFactory =
configuration.buildSessionFactory(serviceRegistry);
5.session = sessionFactory.openSession();
6.transaction = session.beginTransaction();
7.persistent operate操作数据,持久化操作
8.tx.commit();//提交事务
9.关闭Session关闭SesstionFactory
hibernate 开启事务 SessionFactory 它那个不算废弃 应该算是替代,
因为 Service Registry 是一个独立的组件,具有注册表(registry)和存储库功能。
它的功能比较全面 用在XML模式上面 比较好!作用一样的!
为什么要用
1. 对JDBC访问数据库的代码做了封装,
大大简化了数据访问层繁琐的重复性代码。
2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。
他很大程度的简化DAO层的编码工作
3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。
它支持各种关系数据库,从一对一到多对多的各种复杂关系。