Hibernate-load到底在什么地方执行select语句读取数据
我们都知道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());
?