hibernate session.get提供代理对象

hibernate session.get提供代理对象,hibernate,proxy,Hibernate,Proxy,hibernate session.get提供代理对象。根据下面的链接,我看到get总是返回一个真实的对象,而不是一个代理对象。但是今天我看到了一个奇怪的行为,如果代理对象已经存在于缓存中,get就会给出一个代理对象,否则就是一个真实的对象。我的理解是,即使对象在缓存会话中存在或不存在,get也会始终提供一个真实对象,而不是代理对象。有人能解释一下吗 你的问题是什么?您已经对它进行了测试,测试表明,如果代理已经在缓存中,get()确实会返回代理。那么,你想让我们告诉你你的测试是正确的吗?它是。链

hibernate session.get提供代理对象。根据下面的链接,我看到get总是返回一个真实的对象,而不是一个代理对象。但是今天我看到了一个奇怪的行为,如果代理对象已经存在于缓存中,get就会给出一个代理对象,否则就是一个真实的对象。我的理解是,即使对象在缓存会话中存在或不存在,get也会始终提供一个真实对象,而不是代理对象。有人能解释一下吗


你的问题是什么?您已经对它进行了测试,测试表明,如果代理已经在缓存中,get()确实会返回代理。那么,你想让我们告诉你你的测试是正确的吗?它是。链接页面错误。顺便说一句,load()还将返回一个“真实”实体实例,如果它已经在缓存中。您是如何检查它是否返回代理的?我不是说测试是正确的。我试图了解session.get的行为,以防缓存中已经存在该对象。它将返回缓存中的对象还是返回真实对象。@Vaishu13您已经有一个测试证明它确实返回缓存中的对象。您还需要什么?如果代理尚未初始化(从而初始化代理),get()将命中数据库,以确保实体确实存在。但它仍将返回代理。