Управление сущностями в кеше NHibernate 1-го уровня - PullRequest
0 голосов
/ 22 сентября 2010

Как правильно управлять постоянными сущностями в кэше 1-го уровня во время жизни потока / сеанса? На самом деле, существует только один или два постоянных экземпляра в каждом потоке (сеансе), которые должны присутствовать всегда для ссылки на них из других (временных) объектов перед сохранением.

Поскольку мне нужно время от времени очищать кэш сеанса (потому что в противном случае он заполняется и мучительно медленно), я не уверен в том, должен ли я:

  1. Изгнать всех сущностей из сессии, кроме тех, которые мне нужны?
  2. Очистить весь сеанс и перезагрузить необходимые объекты?
  3. Создать новый сеанс и перезагрузить необходимые сущности?

1 Ответ

2 голосов
/ 22 сентября 2010

Я думаю, вам следует закрыть предыдущую сессию и открыть новую. Если объекты, которые вы хотите кэшировать, тяжело загружаются для каждого сеанса, вы должны использовать кэширование второго уровня.

...