我遇到了这个错误:
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依赖项。
更新: 我已经解决了这个问题。这是由于依赖项版本之间的差异。谢谢你的帮助
答案 0 :(得分:0)
hibernate-search-engine jar可能不在你的构建路径中。检查您是否为编译器提供了所有必需的jar。理想情况下,您应该让依赖管理工具(例如Maven或Gradle)为您执行此操作。