在Hibernate Envers中,无论设置了哪种获取类型,都会延迟加载实体的所有相关集合.因此,当审计具有其他实体集合的实体(当然都是经过审计)时,该集合SetProxy最初是(在调试时可以看到).
那么,我该如何初始化该代理呢?使用Hibernate.initialize()没有效果(我怀疑是因为Hibernate和Envers使用不同的代理对象).我知道我可以通过迭代它的项目来初始化集合,但这对我来说不是一个选项,因为我在一个实体中有多个集合,更不用说维护问题了.
我需要急切地初始化它们,因为我在Hibernate会话已经关闭的时候访问该集合(将域对象转换为dtos).
我正在使用Hibernate 3.5.6.