NHibernate如何跟踪DETACHED对象?

时间:2013-11-11 07:56:09

标签: nhibernate

我们可以通过使用Update()遍历Detached对象的状态为Persistent状态 或者SaveorUpdate()等。这意味着nHibernate以某种方式跟踪Detached对象。我首先想到它可能会将分离的对象保存在内存中。但是当我遇到声明时,我很难过:

  

您可以在处理完每个对象后立即将其驱逐出去   (在迭代查询结果时), 从而防止内存   疲惫。 参考:NHibernate in Action

提供:Evict()用于从Persistent遍历到Detached对象。

在上面的陈述中:“从而防止内存耗尽。”给出了一个概念,好像 分离的对象不会保留在内存中。还有什么地方呢?

1 个答案:

答案 0 :(得分:0)

是的,Evict从第一级缓存中删除实体。

"独立式"只是意味着该对象与会话无关。它不在任何会话的第一级缓存中。

SaveOrUpdate将对象添加到第一级缓存,并将其安排在下一个Flush上插入或更新。