Управление сущностями в кеше NHibernate 1-го уровня

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам