如何使用 java 配置创建 SessionFactory?
@Bean
public SessionFactory sessionFactory(){
AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean();
sessionFactoryBean.setConfigLocation(new ClassPathResource("hibernate.cfg.xml"));
return sessionFactoryBean.getObject();
}
由于某种原因,这不起作用......它总是返回空值。
最佳答案
改为返厂:
@Bean
public AbstractSessionFactoryBean sessionFactoryBean(){
AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean();
sessionFactoryBean.setConfigLocation(new ClassPathResource("hibernate.cfg.xml"));
return sessionFactoryBean;
}
如果需要注入(inject)
SessionFactory
直接在代码中的某处,添加这个辅助方法:public SessionFactory sessionFactory() {
return sessionFactoryBean().getObject();
}
请注意,助手
sessionFactory()
是 不是 注释为 @Bean
- 这真的很重要。
关于hibernate - Spring Hibernate SessionFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121461/