作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个实体:用户和模块,它们使用多对多链接。
在我的用户实体中,我有一个模块列表成员:
我成功插入了一个新用户,但是当我想检索用户时,我得到了用户信息,但没有得到用户的模块。我收到此错误消息:
.hibernate.LazyInitializationException:无法延迟初始化角色集合:ma.propar.FireApp.Entites.Utilisateur.modules,无法初始化代理 - 无 session
最佳答案
user.modules
@ManyToMany
列表默认是 LAZY,因此当您获取 users
时,您只会获得一个 user。模块
代理。
如果 Hibernate Session
关闭,您将无法访问未初始化的代理,除非获得 LazyInitializationException
.
要在同一 HQL 查询中获取模块,您需要使用“fetch”:
select u from Utilisateur u left join fetch u.modules
尽管您可以将关联设置为 FetchType.EAGER
,以便始终沿着 Users 检索模块
@ManyToMany(fetch=FetchType.EAGER)
关于java - hibernate : failed to lazily initialize a collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23932684/
我是一名优秀的程序员,十分优秀!