昨天对Hibernate进行了简单的介绍,今天来详细了解一下Hibernate
一、Hibernate原理
图中已经明确表名了Hibernate的工作原理:
①通过Configuration获取Hibernate.cfg.xml中的配置
②根据配置生成SessionFactory会话工厂接口
③根据会话工厂开启session会话
④使用session对持久类进行操作的同时需要开启事务transaction
⑤操作结束后需要提交事务并关闭session会话
1.Configuration
在Hibernate4.3中Configuration加载配置文件的设置并放到注册对象中
Configuration config = new Configuration().configure();
ServiceRegistry service = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();
注:不同版本写法不一样
2.SessionFactory
通过config创建会话工厂对象
sessionFactory = config.buildSessionFactory(service);
3.Session
如何获取session对象,有两种方式:
①sessionFactory.openSession()
②sessionFactory.getCurrentSession()
使用getCurrentSession()方式需要在Hibernate.cfg.xml进行相应的配置
本地事务<property name="hibernate.current_session_context_class">thread</property>
全局事务<property name="hibernate.current_session_context_class">jta</property>
openSession()和getCurrentSession()有什么区别呢?
openSession()需要手动关闭session对象
getCurrentSession()可以不主动关闭,在事务进行提交/回滚之后能够自动关闭
openSession()每次都是创建新的session对象
getCurrentSession()使用线程队列中现有的session对象,类似单例模式
4Transaction
Transaction tx = session.beginTransaction();
……
tx.commit();
hibernate对数据库的操作均封装在事务当中,默认是非自动提交的
session保存对象时候,若不开启事务,并且手动提交,对象是不会保存到数据库中的。
- 大小: 52.2 KB
分享到:
相关推荐
Hibernate 工作原理图Hibernate 工作原理图Hibernate 工作原理图Hibernate 工作原理图Hibernate 工作原理图Hibernate 工作原理图
《Struts + Spring + Hibernate工作原理解析》文档,解析SSH框架的工作原理。
Hibernate、Spring和Struts工作原理及使用理由
Hibernate原理流程
hibernate 工作原理 hibernate 用途 总结
struts工作原理图、spring框架结构图、hibernate工作原理图
三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据...
struts、spring、hibernate工作原理.培训架构的学习资料,分享给大家,希望对大家有用!
Hibernate原理与配置快速入门 博文链接:https://linde13652.iteye.com/blog/162777
Spring+Hibernate+Struts工作原理
Hibernate原理与应用,对有意愿学习ssh的朋友可以助一臂之力!
Hibernate原理与配置快速入门.pdf Hibernate原理与配置快速入门.pdf
8Hibernate原理与实现简介
Struts+Spring+Hibernate原理 理解
hibernate原理与配置快速入门,希望对你有帮助
Hibernate原理与配置快速入门
Hibernate 实现原理 模拟,通过模拟hibernate的实现原理来加深对hibernate实现原理的理解和使用。