Hibernate延迟加载的原理?

请大虾指点!不要网上copy的谢谢!给点通俗易懂的解释!... 请大虾 指点!不要网上copy的 谢谢!给点通俗易懂的解释! 展开
 我来答
匿名用户
2013-07-06
展开全部
Student user=(Student)session.load(User.class,"1");
  System.out.println(user.getName());
hibernate通过一个代理类(这个代理类有cglib自动构造,这个代理类的对象包含了实体对象的所有属性和方法),当调用load方法时,他会首先检查代理类中的属性是否为null,如果不为空,则调用对象的getname 方法,返回结果(实体类的代理类对象),如果为空,才会发出sql语句对数据库进行查询。

说白了就是get方法是直接调用数据库查询语句,而load方法是先看代理类中有没有需要获得的对象,如果有的话,就不在查询数据库,如果没有的话,才会调用数据库查询语句。

如果还不理解的话,给我说下!
paykka
2025-08-05 广告
Paykka 从多个环节帮助用户节省时间,开户最快 1 个工作日完成,本地货币结算当日到账,提现更是几秒内就能完成。全流程都极大地缩短了时间成本,减少了用户的等待时间,提高了资金流转效率。... 点击进入详情页
本回答由paykka提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式