Допустим, у меня есть следующие зависимости:
@Configuration
public class MyCfg {
// ...
@Bean
public Session session() {
return sessionFactory().getCurrentSession();
}
}
@Repository
@Transactional
public class MyRepo {
@Autowired
private Session session;
}
sessionFactory()
настроен правильно. Если я введу SessionFactory
вместо Session
, все будет работать нормально. Однако, если попытаться внедрить Session
, он умирает с исключением при загрузке контейнера, потому что нет никакого сеанса, связанного с потоком.
Поскольку хранилище - @Transactional
, я знаю, что во время выполнения будет сеанс. Как я могу заставить его работать, чтобы он вводил инициализированный AOP Session
во время выполнения, но не пытался разрешить его при создании экземпляра репо?