根据hibernate docs session.load
:
返回具有给定标识符的给定实体类的持久化实例,假设该实例存在。 当访问非标识符方法时,此方法可能会返回按需初始化的代理实例。
我所知道的是session.load
首先在缓存中检查,如果持久实例存在,如果是,它将返回该实例,否则它将抛出ObjectNotFoundException
。
查询:在哪种情况下session.load
返回代理对象而不是从缓存中完全初始化持久对象?它是否与默认提取策略(lazy=true)
相关?