首页 > 代码库 > hibernate 的相关记录

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

hibernate 的相关记录