In most cases locking is something that you want to avoid as it limits the level of concurrency of your database. But sometimes that is exactly what you want.
You can use pessimistic concurrency in NHibernate by using an overload that takes a LockMode:
When using session.Get<T>:
Or when using session.Query<T>: