当前位置 : 主页 > 编程语言 > c++ >

Hibernate 框架中操作Session缓存的方法(1)

来源:互联网 收集:自由互联 发布时间:2021-07-03
flush(): 使Session缓存中的对象状态与数据库表中的记录保持一致,为了保持一致,可能会发送sql语句 1.在 Transaction 的 commit() 方法中,会先调用 flush() 方法,再提交事务。2.flush() 方法可能
flush(): 使Session缓存中的对象状态与数据库表中的记录保持一致,为了保持一致,可能会发送sql语句
1.在 Transaction 的 commit() 方法中,会先调用 flush() 方法,再提交事务。

2.flush() 方法可能会发送sql语句,但是不会提交事务。

3.注意:在未提交事务或显式的调用 session.flush() 方法之前,也有可能会进行 flush() 操作。
1).执行HQL或QBC查询,会先进行 flush() 操作,以得到数据表的最新记录。
2).若记录的ID是有底层数据库以自增的方式生成的(native),则在调用save()方法后,就会立即发送insert语句。因为
save()方法后,必须保证该对象的ID是存在的。
2.refresh()方法
1.refresh()方法会强制发送select语句,以使Session缓存中对象的状态与数据库表中对应记录保持一致
3.clear()方法
1.clear()方法会将session中的缓存清理掉
网友评论