我在尝试Hibernate Search时遇到此错误

时间:2017-07-18 07:04:56

标签: hibernate hibernate-search

我遇到了这个错误:

  

org.hibernate.search.query.engine.spi.QueryDescriptor类文件   未找到org.hibernate.search.query.engine.spi.QueryDescriptor

@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依赖项。

更新: 我已经解决了这个问题。这是由于依赖项版本之间的差异。谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

hibernate-search-engine jar可能不在你的构建路径中。检查您是否为编译器提供了所有必需的jar。理想情况下,您应该让依赖管理工具(例如Maven或Gradle)为您执行此操作。