在Spring中以编程方式创建SessionFactory

chr*_*ris 2 spring sessionfactory

假设我以编程方式创建AnnotationSessionFactoryBean并正确设置各种属性.然后我如何提取Hibernate SessionFactory,因为所有与创建SessionFactory相关的方法都受到保护?

AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean();
SessionFactory sessionFactory = sessionFactoryBean.newSessionFactory(); // Protected!!
Run Code Online (Sandbox Code Playgroud)

ska*_*man 9

getObject()拨打电话后使用afterPropertiesSet():

sessionFactoryBean.afterPropertiesSet();
SessionFactory sessionFactory = sessionFactoryBean.getObject();
Run Code Online (Sandbox Code Playgroud)

(AnnotationSessionFactoryBean工具FactoryBean<SessionFactory>)

但是要小心:通过这样做,SessionFactory当你完成它时,确保关闭它是你的责任.