После прочтения вышеприведенных комментариев я бы предложил исходный пример кода автора ... SessionFactoryImplementator sfi = (SessionFactoryImplementator) session.getSessionFactory();
, а затем последнее перекодирование того же принципала: SessionFactoryImplementor sfi = (SessionFactoryImplementor) ctx.getBean("sessionFactory");
Любой, кто на самом деле использует Spring, ВСЕГДА должен отложитьпоследний подход, поскольку нет способа узнать, как SessionFactoryBean в Spring3 / 4 может выбрать повторную реализацию «openSession» и т. д. (или приложения разработчика), но указывают на то, что доступ к нему через Spring ApplicationContext гарантирует, что у вас будет «самый высокий»-уровень "обернутая версия фактической SessionFactory, которая должна реализовывать наибольшее количество интерфейсов, связанных с Hibernate SessionFactory (независимо от того, обернуты ли они через AoP или ткачество классов во время компиляции и т.только один Hibernate SessionFactory в вашем appCtx, тогда еще лучше будет: appCtx.getBean(org.hibernate.SessionFactory.class);