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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。