您的位置:首页 > 其它

总结session常用的方法

2015-12-20 20:35 295 查看
session常用方法:

get方法 在get时发出sql语句 此时对象为持久态 在缓存中

load方法 在load时候产生代理对象 但是当访问属性时才发出sql语句 (延迟加载) 此时对象为持久态 在缓存中

evict方法 清除缓存中的内存对象 被evict的对象 下次请求相同oid的对象时 会重新发出sql语句

load方式加载的对象 被evict后 已经与当前对象失联 不能再操作其属性 否则报错could not initialize proxy - no Session

get方式加载的对象 因为在get时候就已经发出sql语句 所以可以操作其普通属性

也就是说evict的对象已经脱离了session处于游离状态

clear方法 清除session缓存中所有的对象 也就是说所有的对象都是游离状态

merge方法 产生一个相同oid的对象 持久化对象 因为有缓存就是自己 瞬时态对象就是复制一个就不是自己因为没有缓存

如果是离线状态不能merge

flush方法 将session缓存中的对象 发出sql语句到数据库

save方法 插入一条记录到数据库 有返回值 就是id 因为调用方法就返回id 所以马上会生成sql语句

persist方法 不会立即插入 因为不用生成id返回 等flush后才插入

refresh方法 重新发出一个sql语句去刷新对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: