2010-09-22 65 views
0

在线程/会话生存期间管理第一级缓存中的持久化实体的正确方法是什么?实际上,每个线程(会话)中只有一个或两个持久实例应始终存在,以便在保存之前从其他(临时)实体引用它们。在NHibernate一级缓存中管理实体

因为我需要一段时间来清除会话缓存每一次(否则它被填满和痛苦的缓慢),有什么我不知道是 - 我应该:

  1. 逐出会话中的所有实体,除了我需要的东西?
  2. 清除整个会话,并重新加载必要的实体?
  3. 创建一个新的会话并重新加载必要的实体?

回答

2

我想你应该关闭前一个会话并打开一个新会议。如果您想要缓存的对象在每个会话中都需要加载,那么您应该使用二级缓存。