2010-04-21 13 views

Odpowiedz

16

StatelessSession nie śledzi zmian dokonanych w jednostkach i nie ma leniwego ładowania. To dlatego ma lepszą wydajność niż sesja.

Jednak przy sesji bezstanowej trzeba ręcznie zarządzać operacjami wstawiania, usuwania i aktualizacji, co jest naprawdę niewygodne.

Stateless sesja jest dla operacji wsadowych, gdzie trzeba wykonać wiele zapytań do bazy danych i nie trzeba śledzenie zmian itp

+0

Istnieją różne przypadki użycia, jak również. Na przykład, gdy masz małą bazę danych i chcesz zachować ją w pamięci przez cały czas życia aplikacji i potrzebujesz bazy danych, aby móc przywrócić stan aplikacji po jej ponownym uruchomieniu. W takim przypadku 'IStatelessSession' pozwala zaoszczędzić na obciążeniu wydajności związanym z leniwym ładowaniem, łączeniem itd., Co oczywiście oznacza, że ​​będziesz musiał sam przeprowadzić jakieś śledzenie zmian, np. z niestandardową implementacją wzorca Jednostki Pracy. Oczywiście NHibernate może nie najlepiej pasować do tego przypadku ... – chris

Powiązane problemy