This is part of a series of posts about NHibernate Pitfalls. See the entire collection here.
Stateless sessions are a good thing: they offer a simplified API for performing updates, deletes and inserts, which does not require that the entities are known by the session beforehand and they can also offer some performance benefits. However, this comes at a cost.
It happens that stateless sessions do not support some of NHibernate’s features that we’ve become accustomed to:
So, if you need any of these, don’t use stateless sessions.