hibernate 之 session操作 标签: hibernate 2016-12-14 22:13 94人阅读 评论(0)
首先声明 hibernate 一共有3种session操作,分别是
1. flush()
2. reflesh()
3. clear()
flush()操作含义:
是把 session的数据同步到数据库中,如何session中的数据和数据库中的数据不相同 则会发出对应的sql操作语句 更改数据库中的数据 使数据库中的数据和session中的数据保持一致。
在hibernate提交事务的过程中 默认调用了 此操作。
还有在HQL 或QBC查询的时候 也会先默认执行此操作,已得到数据库中的数据使最新的。
若记录ID 是由底层数据库自增实现的在调用save()则会立即发送 INSERT语句 若由hibernate 实现ID自增则不会
reflesh()操作含义:
强制使session中的数据记录和 数据库的中一样 就是把 session的中数据变的和 数据库中的数据一样
clear()操作含义:
清理session 使 session内为空