3

我通过 java 配置使用 Hibernate 3.3 和 Spring 3.2。我想在我的应用程序上下文中创建一个会话工厂。我正在尝试这样的事情

@Bean
public SessionFactory sessionFactory() throws Exception {
    AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean();
    sessionFactoryBean.setDataSource(dataSource());
    sessionFactoryBean.setPackagesToScan(new String[] { "org.package" });

    Properties hibernateProperties = new Properties();
    hibernateProperties.put("hibernate.show_sql", true);
    hibernateProperties.put("hibernate.bytecode.use_reflection_optimizer", false);
    hibernateProperties.put("hibernate.check_nullability", false);
    hibernateProperties.put("hibernate.dialect", "org.hibernate.dialect.DB2Dialect");
    hibernateProperties.put("hibernate.search.autoregister_listeners", false);
    sessionFactoryBean.setHibernateProperties(hibernateProperties);

    return sessionFactoryBean.getObject();
}

但在最后一行它返回null¿ 我做错了什么?

4

1 回答 1

3

在返回 之前SesionFactory,您需要调用afterPropertiesSet

sessionFactoryBean.afterPropertiesSet();

它构建并公开了SessionFactory.

于 2013-09-07T05:40:49.813 回答