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(): 清理缓存