2017-07-18 52 views
0

我有此錯誤:我收到此錯誤當試圖Hibernate Search的

org.hibernate.search.query.engine.spi.QueryDescriptor class file for org.hibernate.search.query.engine.spi.QueryDescriptor not found

@Transactional 
public void indexEvents() throws Exception 
{ 
    try 
    { 
     Session session = sessionFactory.getCurrentSession(); 

     FullTextSession fullTextSession = Search.getFullTextSession(session); 
     fullTextSession.createIndexer().startAndWait(); 
    } 
    catch(Exception e) 
    { 
     throw e; 
    } 
} 
@Transactional 
public List<Event> searchForEvent(String searchText) throws Exception 
{ 
    try 
    { 
     Session session = sessionFactory.getCurrentSession(); 

     FullTextSession fullTextSession = Search.getFullTextSession(session); 

     QueryBuilder qb = fullTextSession.getSearchFactory() 
       .buildQueryBuilder().forEntity(Event.class).get(); 
     org.apache.lucene.search.Query query = qb 
       .keyword().onFields("name", "city") 
       .matching(searchText) 
       .createQuery(); 

     org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(query, Event.class); //<<--Error 
     List<Event> results = hibQuery.list(); 
     return results; 
    } 
    catch(Exception e) 
    { 
     throw e; 
    } 
} 

我已經加入Hibernate和Hibernate Search的依賴關係。

更新: 我已經解決了這個問題。這是由於版本之間的差異。感謝您的幫助

+0

請發佈完整的堆棧跟蹤並提及您正在使用的Hibernate Search和Hibernate ORM的版本。 –

+0

我正在使用Hibernate Search版本:5.7.1.Final和Hibernate核心5.2.10 Final。而我只有當我建立我的項目時:org.hibernate.search.query.engine.spi.QueryDescriptor類文件的org.hibernate.search.query.engine.spi.QueryDescriptor找不到 –

+0

錯誤格式化爲blockquote –

回答

0

這很可能是hibernate-search-engine jar不在您的構建路徑中。檢查你是否爲編譯器提供了所有必需的jar。理想情況下,你應該讓一個依賴管理工具(如Maven或Gradle)爲你做。

+0

我我正在使用Maven,並且爲它添加​​了依賴關係。 –

相關問題