only HibernateException is caught and thrown, not any Exception