hibernate 的相关记录

 

hibernate.cfg.xml配置文件

<!-- 配置Hibernate的基本属性-->

<!--方言-->

<!--是否显示及格式化SQL-->

<!--生成数据表的策略-->

<!--二级缓存相关-->

 

Spring整合Hibernate文件

applicationContext.xml

<!--导入资源文件-->

<!--配置数据源/c3p0-->

<!--配置SessionFactory-->

<!--配置Spring的声明式事务-->

  <!--配置Hibernate的事务管理器-->

  <!--配置事务属性-->

  <!--配置事务切入点(再把事务属性跟事务切入点关联起来)-->

 

 

 

 

 

 

 

清理 session 缓存

1. flush:使数据表中的记录和session缓存中的对象的状态保持一致,为了保存一致,则可能会发送相应的SQL

001. 在 Transaction 的 commit() 方法中:先调用 session 的 flush 方法,再提交事务

002. flash 方法可能会发送 SQL 语句,但是不会提交事务

003. 注意: 在未提交事务或显示调用 session.flush() 方法,也有可能会进行 flush 操作;

      1. 执行 HQL 或 QBC 查询,会先执行 flush() 操作,以得到数据表的最新的记录

      2. 若记录的 ID 是由底层数据库使用自增的方式生成的,则在调用 save() 方法后,就会立即发送 insert 方法

        因为 save() 方法后,必须保证对象的 ID 是存在的。

 

2. refresh: 会强制发送 select 语句,以使 Session 缓存中对象的状态和数据表中对应的记录保持一致

3. clear(): 清理缓存

posted @ 2015-01-24 23:02  江湖一笑  阅读(122)  评论(0编辑  收藏  举报