Весенняя загрузка и спящий режим. Управление сеансом

У меня проблема с сеансом Spring и hibernate. У меня есть следующий bean-компонент в моем классе конфигурации:

@Bean fun sessionFactory(@Autowired entityManagerFactory: EntityManagerFactory) : SessionFactory = entityManagerFactory.unwrap(SessionFactory::class.java) 

но это заставляет приложение не запускаться.

 The dependencies of some of the beans in the application context form a cycle: userRepository defined in file [/home/m/Code/enterprise/out/production/classes/com/xxx/site/domain/user/repository/UserRepository.class] ┌─────┐ | getSessionFactory defined in class path resource [com/xxx/site/WebMvcConfig.class] └─────┘ 

Пользовательский репозиторий:

 @Repository @Qualifier("mysql") class UserRepository(@Autowired private val sessionFactory: SessionFactory): UserRepositoryInterface{ ... } 

Я использую Spring boot 2.0.0.M4.

Однако эта проблема не возникала для Spring Boot 1.5.4.RELEASE.

Любые идеи, что делать?

Изменить SiteApplication.kt

 package com.xxx.site import com.xxx.site.interceptor.CustomLocaleChangeInterceptor import nz.net.ultraq.thymeleaf.LayoutDialect import org.hibernate.SessionFactory import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.web.servlet.LocaleResolver import org.springframework.web.servlet.config.annotation.InterceptorRegistry import org.springframework.web.servlet.config.annotation.WebMvcConfigurer import org.springframework.web.servlet.i18n.SessionLocaleResolver import java.util.* import javax.persistence.EntityManagerFactory @SpringBootApplication class SiteApplication @Configuration class WebMvcConfig: WebMvcConfigurer { @Bean fun localeResolver(): LocaleResolver { val slr = SessionLocaleResolver() slr.setDefaultLocale(Locale("th")) return slr } override fun addInterceptors(registry: InterceptorRegistry?) { registry!!.addInterceptor(CustomLocaleChangeInterceptor()).addPathPatterns("/**") } @Bean fun layoutDialect(): LayoutDialect { return LayoutDialect() } @Bean fun sessionFactory(@Autowired entityManagerFactory: EntityManagerFactory) : SessionFactory = entityManagerFactory.unwrap(SessionFactory::class.java) } fun main(args: Array<String>) { SpringApplication.run(SiteApplication::class.java, *args) }