簡體   English   中英

注入Spring bean的Hibernate Search映射工廠

[英]Hibernate Search mapping factory with spring bean injected

我使用Hibernate Search編程API,並且每個實體都有可配置的增強功能。 可以通過映射工廠中需要訪問的服務來讀取配置。 是否可以在SearchMappingFactory中以某種方式獲取此bean? 問題是,在搜索映射需要bean的同時,spring上下文還沒有完全創建。

 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());

我可以通過內部帶有自動裝配的bean的SearchMappingFactory實例,但是SearchMappingBuilder.getProgrammaticMappingClass不允許這樣做...

我找到了解決方案,使SearchMappingFactory成為具有自動裝配依賴項的bean,並直接將searchMapping傳遞到那里:

 hibernateProperties.put("hibernate.search.model_mapping", searchMappingFactory.getSearchMapping());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM