当前位置:  开发笔记 > 编程语言 > 正文

nhibernate - 禁用一对多关系的子记录的自动\延迟加载

如何解决《nhibernate-禁用一对多关系的子记录的自动\延迟加载》经验,为你挑选了0个好方法。

我想知道是否有办法在nHibernate中禁用子记录的自动加载(对于一个:许多关系).

我们可以轻松地关闭属性上的延迟加载,但我想要的是禁用任何类型的自动加载(懒惰和非懒惰).我只想通过查询加载数据(即HQL或Criteria)

我仍然希望在映射文件中定义父子记录之间的关系以促进HQL并能够加入父子实体,但我不希望子记录作为父记录的一部分加载,除非查询父记录明确指出(通过急切获取等).

示例:从数据库中获取部门记录不应从数据库中获取所有员工记录,因为可能永远不需要它.

这里的一个选项是将Department上的Employees集合设置为延迟加载.这种方法的问题在于,一旦将对象提供给调用API,它就可以"触摸"延迟加载属性,并从db中获取整个列表.

我试图使用'evict' - 断开对象,但它似乎并不总是在工作,并且不会对对象进行深度驱逐.另外,它使用代理类抽象延迟加载的属性类型,该代理类稍后在代码中播放,我们尝试通过反射对对象进行操作,并且在对象上遇到未消除的类型.

我是nHibernate的初学者,任何指针或帮助都会有很大的帮助.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有