Не удалось создать экземпляр sessionFactory From org.springframework.orm.hibernate5.LocalSessionFactoryBean - PullRequest
0 голосов
/ 26 июня 2018

Мы используем spring и hibernate в нашем приложении, я создаю объект LocalSessionFactoryBean, а затем @autowire SessionFactory в репозитории следующим образом: создайте LocalSessionFactoryBean в AppConfig

 @EnableCaching
 @EnableAsync
 @EnableTransactionManagement
 @Configuration
 class AppCOnfig extends WebMvcConfigurerAdapter{
 @Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
    sessionFactory.setDataSource(restDataSource());
    sessionFactory.setPackagesToScan("com.xx.yyy");
    sessionFactory.setHibernateProperties(hibernateProperties());
    sessionFactory.setPhysicalNamingStrategy(new SnakeCaseNamingStrategy());
    sessionFactory.setImplicitNamingStrategy(new ImplicitNamingStrategyLegacyHbmImpl());
    return sessionFactory;
  }
}

В репозитории Мы используем аннотацию @autowire как

@Slf4j
@Repository
public class UserRepository {

    @Autowired
    private SessionFactory sessionFactory;

}

Мы используем спящий и весенний версии, как показано ниже: 4.3.4.RELEASE 5.2.10.Final Но когда я запускаю приложение, я получаю эту ошибку:

Error creating bean with name 'sessionFactory' defined in XXX.AppConfig: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.hibernate5.LocalSessionFactoryBean]: Factory method 'sessionFactory' threw exception; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.EnumConstantNotPresentExceptionProxy
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)

Я знал, что есть какая-то проблема, когда Spring пытался получить фабрику сессий от localeSessionFactoryBean, но не могу понять, как мы можем ее решить. Если у кого-то есть какие-то идеи по этому поводу, пожалуйста, помогите мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...