Я использую программный API Hibernate Search и у меня есть настраиваемое усиление для каждой сущности. Конфигурацию можно прочитать через службу, к которой мне нужно получить доступ в фабрике сопоставлений. Можно ли как-то получить этот компонент внутри SearchMappingFactory? Проблема в том, что контекст Spring не полностью создан в тот момент, когда поисковому отображению нужны bean-компоненты из него.
public class SearchMappingFactory{
@Factory
public SearchMapping getSearchMapping() {
SearchMapping searchMapping = new SearchMapping();
// here I need to read configuration using configurationService
// ... define mapping ...
return searchMapping;
}
}
Затем я устанавливаю это сопоставление в sessionFactory таким образом
hibernateProperties.put("hibernate.search.model_mapping", SearchMappingFactory.class.getCanonicalName());
Я мог бы передать экземпляр SearchMappingFactory с автосвязанным bean-компонентом внутри, но SearchMappingBuilder.getProgrammaticMappingClass не позволяет этого...