if the RichObjectFactory is used standalone or used with another session - when a new session is started the cache may have invalid objects - the LRUCache can be cleared when the session is set. public static void connectToBioSQL(Object session) { ... clearLRUCache();