在我的spring boot + hibernate 5应用程序中获取java.lang.IllegalArgumentException: Property 'sessionFactory' is required。我试着像这样自动挂线
@Autowired
public void setupSessionFactory(SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
getHibernateTemplate().setCheckWriteOperations(false);
}我还试着在我的配置文件中添加类似这样的东西
@Bean
public HibernateJpaSessionFactoryBean getSessionFactory() {
return new HibernateJpaSessionFactoryBean();
}
@Bean
public SessionFactory sessionFactory(){
return new LocalSessionFactoryBean().getObject();
}
@Bean
public HibernateTransactionManager transactionManager(SessionFactory sf) {
return new HibernateTransactionManager(sf);
}我的application.yml文件
spring:
datasource:
url: jdbc:postgresql://localhost:5432/db
driver-class-name: org.postgresql.Driver
username: postgres
password: password
jpa:
hibernate:
ddl-auto: update
security:
basic:
enabled: false有什么办法解决这个问题吗?
发布于 2017-02-12 22:13:47
这可能是因为return new LocalSessionFactoryBean().getObject();返回null。
此方法仅返回内部字段值:
public SessionFactory getObject() {
return this.sessionFactory;
}其默认值为null。
需要配置会话工厂:应设置dataSource、要扫描的包、hibernate属性。Something like that
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(restDataSource());
sessionFactory.setPackagesToScan(
new String[] { "org.baeldung.spring.persistence.model" });
sessionFactory.setHibernateProperties(hibernateProperties());
return sessionFactory;
}https://stackoverflow.com/questions/42188532
复制相似问题