Listeners etc are not allowed to call back into the Session, either explicitly (like your "test case" above) or implicitly (initializing a lazy association, e.g.). So far I have not seen a valid usage of Hibernate that causes this exception.