如何从org.springframework.orm.hibernate4.LocalSessionFactoryBean获取Hibernate SessionFactory?

Aks*_*kar 2 java configuration spring hibernate spring-mvc

我正在将一个旧的遗留应用程序迁移到Spring.在当前遗留代码的数据访问层中,有一个BaseDataAccessor.此数据访问器通过一种方法提供sessionFactory的引用.为了满足交付日期,我必须保持这个结构相同,为此我需要在BaseDataAccessor中引用Hibernate SessionFactory.

我可以通过实现ApplicationContextAware来获取org.springframework.orm.hibernate4.LocalSessionFactoryBean的引用,但我无法将其转换为SessionFactory.有没有办法做到这一点?

谢谢

Vla*_*cea 7

LocalSessionFactoryBean创建一个SessionFactory:

@Bean
public LocalSessionFactoryBean sessionFactory() {
    LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
    sessionFactory.setDataSource(dataSource());
    sessionFactory.setPackagesToScan(new String[] { "my.packages" });
    sessionFactory.setHibernateProperties(hibernateProperties());
    return sessionFactory;
}
Run Code Online (Sandbox Code Playgroud)

然后你可以注入SessionFactory他的:

@Autowired
SessionFactory sessionFactory;
Run Code Online (Sandbox Code Playgroud)

请查看此文章以获取详细说明.