码迷,mamicode.com
首页 > 其他好文 > 详细

关于Session方法

时间:2015-11-16 17:08:18      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

Session的load()方法和get()方法根据给定的对象id从数据库表中加载一条记录并转换为一个特定的持久类对象。load()方法在没有找到特定的持久类对象所对应的数据库表中的记录时,会抛出ObjectNotFoundException,而get()方法返回null。

    get()方法和load()方法返回的对象位于Session的缓存中,因此党对他的属性进行修改后,Session清理缓存时,会根据持久化对象的属性来同步更新数据库。

    load()和get()方法的区别:

   (1)load()方法:如果load方法不能再缓存或者数据库中找到对象,会抛出异常;load()方法从不返回null;load()方法返回一个代理类的实例而不是真正的持久实例。代理是一个占位符,当第一次调用他时才装载真正的对象。

    (2)get()方法:如果没有找到对象返回null,另一方面,get()方法从不返回代理类而是直接返回实体类。load()方法可以充分利用内部缓存和二级缓存中的现有数据,而get()方法仅仅在内部缓存中进行数据查找,如果没有发现对应的数据,将越过二级缓存,直接调用SQL完成数据读取。

    该如何选择load()方法和get()方法:

    (1)load()方法应用在对象存在的情况下加载

    (2)利用get()方法可以首先判断对象是否存在,然后在获得它。

关于Session方法

标签:

原文地址:http://www.cnblogs.com/liaokunhong/p/4969254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!