读取Hibernate 配置信息-〉创建Session Factory
1)创建Configeration类例子
它构造思路方法:将配置信息(Hibernate config.xml)读入到内存
个Configeration 例子代表Hibernate 所有Java类到Sql数据库映射集合
2)创建SessionFactory例子
把Configeration 对象中所有配置信息拷贝到SessionFactory缓存Cache中
SessionFactory例子代表个数据库存储员源创建后不再和Configeration 对象关联
缓存Cache(cache):指Java对象属性(通常是些集合类型属性--占用内存空间
SessionFactory缓存Cache中:Hibernate 配置信息OR映射元数据
缓存Cache-大:重量级对象 小:轻量级对象
3)SessionFactory创建Session思路方法
1】用户自行提供JDBC连接
Connection con=dataSource.getConnection;
Session s=sessionFactory.openSession(con);
2】让SessionFactory提供连接
Session s=sessionFactory.openSession;
4)通过Session 接口提供各种思路方法来操纵数据库访问
Hibernate 缓存Cache体系
级缓存Cache:
Session 有个内置缓存Cache其中存放了被当前工作单元加载对象
每个Session 都有自己独立缓存Cache且只能被当前工作单元访问
2级缓存Cache:
SessionFactory外置可插拔缓存Cache插件其中数据可被多个Session共享访问
SessionFactory内置缓存Cache:存放了映射元数据预定义Sql语句
Hibernate 中Java对象状态
1.临时状态 (transient)
特征:
1】不处于Session 缓存Cache中
2】数据库中没有对象记录
Java如何进入临时状态
1】通过语句刚创建个对象时
2】当Session delete思路方法从Session 缓存Cache中删除个对象时
2.持久化状态(persisted)
特征:
1】处于Session 缓存Cache中
2】持久化对象数据库中设有对象记录
3】Session 在特定时刻会保持 2者同步
Java如何进入持久化状态
1】Session save把临时-持久化状态
2】Session load,get思路方法返回对象
3】Session find返回list集合中存放对象
4】Session update,saveOrupdate使游离-持久化
3.游离状态(detached)
特征:
1】不再位于Session 缓存Cache中
2】游离对象由持久化状态转变而来数据库中可能还有对应记录
Java如何进入持久化状态-游离状态
1】Session close思路方法
2】Session evict思路方法从缓存Cache中删除个对象提高性能少用
最新评论