
1个回答
2013-07-06
展开全部
Student user=(Student)session.load(User.class,"1");
System.out.println(user.getName());
hibernate通过一个代理类(这个代理类有cglib自动构造,这个代理类的对象包含了实体对象的所有属性和方法),当调用load方法时,他会首先检查代理类中的属性是否为null,如果不为空,则调用对象的getname 方法,返回结果(实体类的代理类对象),如果为空,才会发出sql语句对数据库进行查询。
说白了就是get方法是直接调用数据库查询语句,而load方法是先看代理类中有没有需要获得的对象,如果有的话,就不在查询数据库,如果没有的话,才会调用数据库查询语句。
如果还不理解的话,给我说下!
System.out.println(user.getName());
hibernate通过一个代理类(这个代理类有cglib自动构造,这个代理类的对象包含了实体对象的所有属性和方法),当调用load方法时,他会首先检查代理类中的属性是否为null,如果不为空,则调用对象的getname 方法,返回结果(实体类的代理类对象),如果为空,才会发出sql语句对数据库进行查询。
说白了就是get方法是直接调用数据库查询语句,而load方法是先看代理类中有没有需要获得的对象,如果有的话,就不在查询数据库,如果没有的话,才会调用数据库查询语句。
如果还不理解的话,给我说下!

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