Yes, lots of reasons to use evict. If you load too many objects into the Session you can run out of memory. So if you end up doing any long running sessions, you might want to evict out objects to save memory. It is a method that allows you full control over the cache's. There is also an evict() method in the Factory class to remove objects from the second level cache, if you are using second level cache.