在Spring中以编程方式创建SessionFactory

时间:2011-06-30 10:11:04

标签: spring sessionfactory

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

AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean();
SessionFactory sessionFactory = sessionFactoryBean.newSessionFactory(); // Protected!!

1 个答案:

答案 0 :(得分:9)

在致电getObject()后使用afterPropertiesSet()

sessionFactoryBean.afterPropertiesSet();
SessionFactory sessionFactory = sessionFactoryBean.getObject();

AnnotationSessionFactoryBean实施FactoryBean<SessionFactory>

但是要小心:通过这样做,确保SessionFactory在完成后关闭是您的责任。