2

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

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

1 回答 1

9

getObject()调用后使用afterPropertiesSet(),

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

AnnotationSessionFactoryBean实现FactoryBean<SessionFactory>

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

于 2011-06-30T10:17:32.897 回答