您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何修复Hibernate LazyInitializationException:无法延迟初始化角色集合,无法初始化代理-没有会话

如何修复Hibernate LazyInitializationException:无法延迟初始化角色集合,无法初始化代理-没有会话

你需要fetch=FetchType.EAGER在ManyToMany批注中添加自动拉回子实体:

@ManyToMany(fetch = FetchType.EAGER)

更好的选择是通过将以下内容添加到你的spring配置文件中来实现spring transactionManager:

<bean id="transactionManager"
    class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:annotation-driven />

然后可以将@Transactional批注添加到你的authenticate方法中,如下所示:

@Transactional
public Authentication authenticate(Authentication authentication)

然后,这将在authenticate方法期间启动db事务,从而允许在尝试使用它们时从db中检索任何惰性集合。

其他 2022/1/1 18:14:41 有487人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶