我们都知道load默认是支持lazy策略的,但是它到底在什么地方开始执行select语句读取数据呢?
注意:这里说的是最简单的情况,没有应用其他的策略,如inverse、lazy等
//这里不执行select查询语句,只是建立了一个代理对象
User user = (User)session.load(User.class,1)
//这里也不执行select查询语句,只是把执行load传入的ID号打印出来
//不从数据库中查询
System.out.println(user.getId());
//这里执行select查询语句
System.out.println(user.getName());
//不执行select查询语句,因为上句已经从数据库查询出数据
//数据已经在缓存里直接从缓存读
System.out.println(user.getName());