08---Load方法运行原理分析

Load方法运行原理分析

@Test
// 测试session对象 get 和 load的区别
public void testGetAndLoad() {
Session session = HibernateUtils.openSession();
Transaction transaction = session.beginTransaction();
 
// 根据id 查询
Customer customer = (Customer) session.load(Customer.class, 1);
System.out.println(customer);
 
transaction.commit();
session.close();
}
    我们可以进行Debug查看cutomer对象,(断点设置在打印语句)
    session.get 方法, 查询立即执行 , 返回Customer类对象 
    session.load 方法,默认采用延迟加载数据方式,不会立即查询,返回 Customer类子类对象 (动态生成代理对象)
* 如果 PO类使用final修饰,load无法创建代理对象,返回目标对象本身 (load效果和 get效果 相同 )

1.分析原理:

2.底层方法实现:

阅读更多

扫码向博主提问

寒夕若梦

非学,无以致疑;非问,无以广识
去开通我的Chat快问
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页