Java 为什么冬眠不';是否创建实体对象的代理?
你有没有想过为什么Hibernate在默认情况下不创建实体对象的代理 在Java 为什么冬眠不';是否创建实体对象的代理?,java,hibernate,proxy,entity,hibernate-mapping,Java,Hibernate,Proxy,Entity,Hibernate Mapping,你有没有想过为什么Hibernate在默认情况下不创建实体对象的代理 在@OneToMany(fetch=FetchType.LAZY)的情况下,它将我们的集合替换为PersistentCollection 如果我们有@OneToOne(fetch=FetchType.LAZY)它提供了一个属性代理 然而,Hibernate不能延迟加载字符串字段,甚至不能尝试返回实体的代理,而不是实体对象 为什么Hibernate不将我们从会话中获取的对象转换为代理?为什么应该这样做?代理很昂贵。为返回的对象增
@OneToMany(fetch=FetchType.LAZY)
的情况下,它将我们的集合替换为PersistentCollection
如果我们有@OneToOne(fetch=FetchType.LAZY)
它提供了一个属性代理
然而,Hibernate不能延迟加载字符串
字段,甚至不能尝试返回实体
的代理,而不是实体
对象
为什么Hibernate不将我们从会话中获取的对象转换为代理?为什么应该这样做?代理很昂贵。为返回的对象增加灵活性。例如,延迟加载字符串。Spring并不害怕代理和代理很多事情,从配置开始,AOP到@Lookup类的实现,用代理替换单例中的非单例,等等……每一个例子都在添加有用的功能。与只加载行相比,延迟加载单个列在典型开销方面是疯狂的;这正是联接表存在的原因。