Jim*_*den 25 java proxy hibernate lazy-loading hibernate-envers
在Hibernate Envers中,无论设置了哪种获取类型,都会延迟加载实体的所有相关集合.因此,当审计具有其他实体集合的实体(当然都是经过审计)时,该集合SetProxy
最初是(在调试时可以看到).
那么,我该如何初始化该代理呢?使用Hibernate.initialize()
没有效果(我怀疑是因为Hibernate和Envers使用不同的代理对象).我知道我可以通过迭代它的项目来初始化集合,但这对我来说不是一个选项,因为我在一个实体中有多个集合,更不用说维护问题了.
我需要急切地初始化它们,因为我在Hibernate会话已经关闭的时候访问该集合(将域对象转换为dtos).
我正在使用Hibernate 3.5.6.
Jim*_*den 15
显然,这是Hibernate Envers的一个开放性问题.他们的JIRA已经存在一个问题:https://hibernate.atlassian.net/browse/HHH-3552.随意投票,也许它会加速,当他们看到有些人希望这个被修复;)
在Envers团队修复此问题之前,有一个适用于我的工作:调用size()
集合初始化代理对象.
归档时间: |
|
查看次数: |
5074 次 |
最近记录: |