如何使用Java配置创建SessionFactory?
@Bean public SessionFactory sessionFactory(){ AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean(); sessionFactoryBean.setConfigLocation(new ClassPathResource("hibernate.cfg.xml")); return sessionFactoryBean.getObject(); }
由于某些原因,此方法不起作用…它总是返回null。
这里值得一提的是Spring 3.1引入了LocalSessionFactoryBuilder,它专门设计用于@Bean方法中。
http://static.springsource.org/spring/docs/3.1.0.RC1/javadoc- api/org/springframework/orm/hibernate4/LocalSessionFactoryBuilder.html
这就解决了处理FactoryBeans,getObject()方法等的尴尬需求。FactoryBeans非常适合在XML中使用,但在@Bean方法中不理想。
请注意,此新构建器仅适用于Hibernate 4.1+。