2017-07-18 27 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,并且为它添加​​了依赖关系。 –

相关问题