如果我有一个包含Kid列表的Mother类,我想懒惰地使用FetchType.LAZY加载Kid列表,我该如何构建我的DAO?
目前,如果我从DAO获取对象并且没有关闭会话,我会得到大量的
org.hibernate.NonUniqueObjectException:一个不同的对象 相同的标识符值已与会话相关联
因为会话最终会出现同一个Object的不同实例。
如果我热心地关闭了DAO中的会话,我最终得到了分离的对象,并且我第一次尝试使用以下内容访问其中一个延迟加载的对象:
List<Kid> kidList = mother.getKids();
kidList.add(new Kid());
我得到了
org.hibernate.LazyInitializationException:懒得初始化 角色集合:Mother.kids,无法初始化代理 - 没有 会话
我碰巧看到的唯一解决方案是:
对此没有一些优雅的解决方案吗?