sessionFactory理解
1.sessionFactory 是什么
Hibernate的核心接口之一 SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
2.sessionFactory 作用
用于管理Hibernate会话(session)的对象,所以,最最最简单的理解,你可以把sessionFactory想想成里面有一个DataSource;这个对象创建了,hibernate才真正和数据库连接上了。即SessionFactory维护着所有连接对象已经连接对象的分配和销毁;SessionFactory是线程安全的,并且创建和销毁需要消耗比较大的资源,所以整个应用里面针对一个数据库只需要一个SessionFactory即可;
SessionFactory管理着配置在其中的映射对象的解析数据,动作监听器,NamedQuery等大量信息;
sessionFactory的相关方法返回session对象,而不是平常的new关键字创建session
sessionFactory理解相关推荐
- logistics-6-decidedZone management
2019独角兽企业重金招聘Python工程师标准>>> 业务: 1.decidedZone management_添加decidedZone 2.decidedZone manage ...
- hibernate中SessionFactory,Session的理解?
Session接口 Session接口对于Hibernate 开发人员来说是一个最重要的接口.然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会 ...
- 理解什么是MyBatis?
2019独角兽企业重金招聘Python工程师标准>>> 理解什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache s ...
- hibernate二级缓存理解
2019独角兽企业重金招聘Python工程师标准>>> 缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对 ...
- 深入理解ThreadLocal
学习JDK中的类,首先看下JDK API对此类的描述,描述如下: 该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set ...
- Java面试之五大框架的理解
五大框架(springMVC,struts2,spring,mybatis,hibernate) 说说你对springMVC框架的理解? 简要口述(如果感觉说的少可以在完整答案里面挑几条说) Spri ...
- Hibernate的执行流程——SessionFactory的创建
Hibernate的执行流程: 1.创建Configuration类实例,用来读取并解析配置文件(如Hibernate.cfg.xml),一个Configuration实例代表hibernate所有P ...
- java spring多数据源配置文件_深入理解spring多数据源配置
项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此.多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源.例如在一个spring和hibernate的框架的 ...
- 对Spring的一些理解
最近在复习一些关于框架的概念性问题,主要是为了最近的面试,怕被问到这些概念性的问题.不过在真正做开发的时候还是要好好理解这些框架的基本原理,以及它们的工作流程.这样,我们才能更好的使用这些框架.下面就 ...
最新文章
- 模糊数学笔记:二、模糊截集与分解定理
- OpenSessionInViewFilter作用及配置
- silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发)
- 代码设计的基础原则_设计原则:良好设计的基础
- python3 开发面试题(面向对象)6.6
- 大数据力推产业转型升级
- js默认点击一次_JavaScript初学者,一个小小的点击案例。
- Linux服务器安装宝塔面板,Linux服务器安装宝塔服务器管理控制面板
- Linux读取内核空间,linux,arm_arm如何在内核空间直接读写某个物理地址(或者进程的虚拟地址),linux,arm,c,linux-kernel,memory - phpStudy...
- php pdf文件上传,显示
- 【labelme软件】使用指南
- 微信开发者工具 文件删除操作 二次确认框 设置
- kotlin插件禁用导致的Android studio无法打开-mac
- 大众与以色列前情报头子组建网络安全公司
- 【转】强烈推荐几个新鲜、好玩、另类的小游戏
- 并发编程的三大特性——原子性,可见性,有序性
- html5在线显示word文档,JS实现获取word文档内容并输出显示到html页面示例
- 深度学习word2vec笔记之基础篇
- Golang 中 map 探究
- Zynq 【SDK裸机开发之PS】——串口接收缓存
热门文章
- Python从字符串中删除字符
- [转]给初学者的建议
- NVIDIA增速远超Intel,造成的威胁越来越大
- 计算机专业技术人员最高什么级,事业单位技术岗职称(事业单位专业技术岗(计算机专业)考职称)...
- java 后端解密获取微信的unionId
- 用Python给图片加上序号类的一致水印
- html select - selectedIndex
- matlab的plot没有反应,用plot画图没有反应
- RapidJSON v1.1.0 发布简介
- JS解析提取LRC格式的歌词