我是很新的春天,我想了解更多的有关会议。 我已经映射与Hibernate注明实体旧的数据库,并建立了几个服务对象的获取,检索等我的实体也包含其他实体(通过外键映射)和集实体。 当我穿越我的服务entitiy图,我没有问题。 我的服务被包裹在一个TransactionProxyFactoryBean的,所以都应该是不错的。
所以,在我的视图控制器我请了一堆从服务实体。 但是,当我穿越在我的视图控制器的实体图形(例如显示用户状态的国家的名字,与国有和国家被延迟加载的实体),Hibernate的Session已经关闭,我得到一个“LazyInitializationException中:无法初始化代理 - 没有会话”
我不希望我的服务,急切地获取数据,那将耗费办法不多RAM,因为我的图是深的,甚至可以有循环引用。 我也不想显式地去触摸,我会在服务来显示部分,因为这会意味着我必须复制/粘贴一遍又一遍写类似的服务。 所以,我要的是有Hibernate的Session仍然打开,当我在我的视图控制器,直到认为已送达未关闭会话。 我能做些什么来保持打开状态?
我的观点豆看起来是这样的,有什么办法,我可以注入我TransactionProxyFactoryBean的衍生豆成吗?
<bean name="/" class="example.SimpleViewController">
<property name="userService" ref="userService"/>
<property name="catalogService" ref="catalogService"/>
</bean>
干杯
我