AnnotationSessionFactoryBean

AnnotationSessionFactoryBean

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

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

最佳答案

在调用getObject()后使用afterPropertiesSet():

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

(AnnotationSessionFactoryBean实现FactoryBean<SessionFactory>)

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

09-27 22:50